layer.open属性详解及layer.open弹出框使用post方法

这篇具有很好参考价值的文章主要介绍了layer.open属性详解及layer.open弹出框使用post方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、常用属性详解:

layer.open({
    // 基本层类型:0(信息框,默认)1(页面层)2(iframe层,也就是解析content)3(加载层)4(tips层)
    type: 1,
    title: "标题",
    // 当type: 2时就是url
    content: "内容/url",
    // 如果不想要界面滚动条可以这样写
    //content: ["内容/url",'no']
    // 宽高:如果是100%就是满屏
    area: ['733px', '450px'],
    // 坐标:auto(默认坐标,即垂直水平居中),具体当文档:https://www.layui.com/doc/modules/layer.html#offset
    offset: 'auto',
    // 按钮:按钮1的回调是yes(也可以是btn1),而从按钮2开始,则回调为btn2: function(){},以此类推
    btn: ['按钮1', '按钮2'],
    // 关闭按钮:layer提供了两种风格的关闭按钮,可通过配置1和2来展示,如果不显示,则0
    closeBtn: 1,
    // 遮罩:默认:0.3透明度的黑色背景('#000')
    shade: 0.3,
    // 是否点击遮罩关闭:默认:false
    shadeClose: false,
    // 自动关闭所需毫秒:默认:0不会自动关闭
    time: 0,
    // 最大最小化:默认:false
    maxmin: false,
    // 固定:默认:true
    fixed: true,
    // 是否允许拉伸:默认:true
    resize: true,
    // 层叠顺序:默认:19891014,一般用于解决和其它组件的层叠冲突
    zIndex: 19891014,
    // 层弹出后的成功回调方法:layero前层DOM,index当前层索引
    success: function(layero, index){
    },
    // 第一个按钮事件,也可以叫btn1
    yes: function (index, layero) {
    },
    btn2: function (index, layero) {
        layer.close(index);
    },
    // 右上角关闭按钮触发的回调:默认会自动触发关闭。如果不想关闭,return false即可
    cancel: function(index, layero){
        if(layer.confirm('确定要关闭么')){ //只有当点击confirm框的确定时,该层才会关闭
            layer.close(index);
        }
        return false;
    },
    // 层销毁后触发的回调:无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。
    end: function(){
    },
    // 最大化后触发的回调:携带一个参数,即当前层DOM
    full: function(layero){
    },
    // 最小化后触发的回调:携带一个参数,即当前层DOM
    min: function(layero){
    },
    // 还原后触发的回调:携带一个参数,即当前层DOM
    restore: function(layero){
    },
});

例子:

layer.open({
    type: 1,
    title: "标题",
    content: "内容/url",
    area: ['733px', '450px'],
    offset: 'auto',
    btn: ['按钮1', '按钮2'],
    closeBtn: 1,
    shade: 0.3,
    shadeClose: false,
    time: 0,
    maxmin: false,
    fixed: true,
    resize: true
    zIndex: 19891014,
    success: function(layero, index){
    },
    yes: function (index, layero) {
    },
    btn2: function (index, layero) {
        layer.close(index);
    },
    cancel: function(index, layero){
            layer.close(index);
        }
        return false;
    },
    end: function(){
    },
    full: function(layero){
    },
    min: function(layero){
    },
    restore: function(layero){
    },
});

二:layer.open GET方式说明
如下段代码所示,是最常见的layer.open使用方式。这里有几点需要说明:

  1. type 基本层类型,layer提供了5种层类型。可传入的值有:0(信息框,默认)、1(页面层)、2(iframe层)、3(加载层)、4(tips层)。

  2. layer.open其底层采用的就是get请求方式,因此使用layer.open的弹出层页面传参只能是拼接在url后面。

  3. 对于type=2的弹出框,可以使用图示中的方法调用子页面弹出框的doSubmit() 方法,并获取该方法的返回值。

layer.open({
	type: 2,
	area: ["900px", "520px"],
	title: "子页面-弹出框",
	content: "${basePath}/aaa/bbb/get?id=1",
	btn: ['确定', '关闭'],
	yes: function (index, layero) {
		// 调用子页面(弹出框)的doSubmit方法并获取其返回值
        var iframeWin = layero.find('iframe')[0];
        var data = iframeWin.contentWindow.doSubmit();
	},
	cancel: function (layer_window) {
        // 关闭弹出框页面
		layer.close(layer_window);
	}
});

三、layer.open POST方式介绍

由于layer.open其底层就是get请求方式,因此,如果需要使用post请求的话,必须要引入其他方式,这里采用ajax。

思路:用ajax通过post方式传参请求到页面的html,然后通过layer.open方法展示出来。

$.ajax({
	type: "POST",
	url: "${basePath}/aaa/bbb/post",
	data: {"id":1, "type":2, "code":3},
	success: function(res) {
        var html = res.data;
		layer.open({
			type: 1,
			area: ["900px", "520px"],
			title: "子页面-弹出层",
			content: html,
			btn: ['确定', '关闭'],
			yes: function (index, layero) {
                // 调用子页面(弹出框)的doSubmit方法并获取其返回值
				var context = layero.find('page').context;
				var data = context.defaultView.doSubmit();
			},
			cancel: function (layer_window) {
                // 关闭弹出框页面
				layer.close(layer_window);
			}
		});
	}
});

如上段代码所示,是layer.open post请求页面的方放。这里有几点需要说明:

  1. type必须为1,因为这里layer.open的content是直接给出HMTL代码的。

  2. 调用子页面方法的方式发生了改变,如上实例。文章来源地址https://www.toymoban.com/news/detail-569901.html

到了这里,关于layer.open属性详解及layer.open弹出框使用post方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • selenium-弹出框、下拉框

            对js使用的alert、confirm 以及 prompt定位也是项目中常见的,比如弹出提 示框“确定”等。要定位这类提示框具体思路是switch_to_alert()方法定位 alert/confirm/prompt,然后使用text/accept/dismiss/send_keys这一系列动作。 driver.switch_to.alert.accept()         #点击ok driver.switch_t

    2024年02月02日
    浏览(44)
  • jQuery实现简单弹出框

    1、点击“更多”出现弹出框 2、点击下拉列表触发回调 3、点击空白区域收起弹出框 PS:鼠标右键效果图`另存为`到本地 ,再将图片后缀gif改为rar即可得到完整代码压缩包。 1、提前声明弹出标识做判断; 2、通过jQuery的has()、is()或其他类似方法判断点击的是弹出层以外的空白

    2024年02月11日
    浏览(32)
  • 【微信小程序 uniapp】 ws-wx-privacy 微信隐私保护弹出框 隐私协议弹出框

    插件地址 (https://mp.weixin.qq.com/wxamp/basicprofile/index?token=1956320193lang=zh_CN) 4. 将调试基础库改为 3.0.0以上。 微信开发者工具-详情-本地设置-调试基础库 5. 页面 使用示例 仅有在指引中 声明所处理的用户信息 ,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将

    2024年02月08日
    浏览(41)
  • 前端Vue组件之仿京东拼多多领取优惠券弹出框popup 可用于电商商品详情领券场景使用

    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随

    2024年02月16日
    浏览(38)
  • 微信小程序实现气泡弹出框

    这个组件可以实现 引用别人的组件,上面github可以很好的实现气泡弹窗效果 show:function(){ //如果show值为true,则更改为false 反之设置true if(this.data.show){ this.setData({ show:false }) }else{ this.setData({ show:true }) } }, he(){ console.log(“sadasdd”) this.setData({ show:!this.show }) wx.navigateTo({ url: ‘/p

    2024年02月09日
    浏览(43)
  • 点击空白处弹出框取消

    新建click-outside.js文件 全局使用在main.js中引入,我这里是在assets/js文件中,引入时按照自己的路径引入 页面使用,在弹框元素上添加v-clickoutside=\\\"事件名\\\"  在methods中写相应的逻辑

    2024年02月08日
    浏览(27)
  • 用Axure RP 9制作弹出框

    1.准备文本框  下拉列表   按钮   动态面板  如图  2.先把下拉列表放好 再放动态面板覆盖  3.点动态面板 进入界面 如图 4.给按钮添加交互 3个按钮一样的 如图 5.提交按钮添加交互 如图

    2024年01月23日
    浏览(36)
  • Java SWT 中的常见弹出框

            以下弹出框是框的实现,放入到SWT项目下就可运行。         1.提示框         执行效果:                   2.确认框                  效果图:          点击OK后,flag 等于 true。点击Cancel后flag等于false. 3.文本输入框  在输入框输入的信息,可以通过getVal

    2023年04月12日
    浏览(25)
  • vue 弹出框 引入另一个vue页面

    为什么要这么做,适用于在一个页面逻辑比较多的时候,可以搞多个页面,防止出错 index页面点击解约按钮,弹出框 进入jieyue.vue 核心代码 代码截图 jieyue.vue就是常规代码了 参考博客

    2024年02月12日
    浏览(27)
  • element dialog弹出框层级错乱问题

    需要加modal-append-to-body 默认为true,遮罩层是否插入至 body 元素上,若为 false,则遮罩层会插入至 Dialog 的父元素上。 为false时的HTML结构   为true时的HTML结构   出现弹框层级错乱问题时可以modal-append-to-body是否设置为false了。  

    2024年02月15日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包