layer中的open与close

open方法

open函数用来创建一个弹出层。

open函数的定义

形式为:layer.open(options)
例如:

var index = layer.open({
  content: 'test'
});

open函数里面options

也就是调用方法时用到的配置项,详情见
layer的官方文档

open函数中返回的值

open函数中会返回一个值,该值在layer的close方法中很有用。

close方法

关闭特定层

如何使用close方法

layer.close(index)

这里的index是上面的open方法返回的值。
有两个特殊的用法:

//如果你想关闭最新弹出的层,直接获取layer.index即可
layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
//当你在iframe页面关闭自身时
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); //再执行关闭

关于layer中的一些发现

只要你的父窗口不关闭的话,在它上面的弹层的index会不断增加,及时某一个弹层已经关闭了,在他后面的弹层的index还是会在原来的基础上增加。

//打开一个弹层
var index = layer.open({
            type: 2,
            title: '详情界面',
            area: ['800px', '420px'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/task/toDetails/' + row.pkTask + '/' + row.taskClassid
        });
Task.layerIndex = index;        
parent.layer.close(window.parent.Task.layerIndex);//关闭弹层的代码

用浏览器的控制台打印每次的值

写在最后的话

这篇文章可能有点水,因为这是我的第一篇博客,主要是想熟悉如何用MarkDown来写博客。好好加油,永远向上!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layer.open是一个弹出层的方法,属于layui框架的模块,可以用于在页面弹出对话框、提示框、确认框等。其语法格式为: layer.open(options); 其,options是一个配置项对象,用于设置弹出层的参数,包括以下属性: - type:弹出层类型,默认为0,表示信息框。可以设置为1表示页面层、2表示iframe层、3表示加载层、4表示tips层。 - title:弹出层的标题,可以是一个字符串,也可以是一个HTML元素。 - content:弹出层的内容,可以是一个字符串,也可以是一个DOM元素的选择器,或者是一个HTML元素。 - area:弹出层的宽高,可以是一个字符串,如“500px”、“80%”等,也可以是一个数组,如[“500px”, “300px”]。 - offset:弹出层的坐标位置,可以是一个字符串,如“100px”、“t”、“r”等,也可以是一个数组,如[“100px”, “50px”]。 - closeBtn:弹出层的关闭按钮,可以设置为0表示不显示关闭按钮。 - shade:弹出层的遮罩层,可以设置为false表示不显示遮罩层,也可以设置为一个数字表示遮罩层的透明度。 - time:弹出层的自动关闭时间,单位为毫秒。 - btn:弹出层的按钮,可以是一个数组,每个元素表示一个按钮,如[{text: '确认', onclick: function(){}}]。 - yes:弹出层的确认回调函数。 - cancel:弹出层的取消回调函数。 layer.open方法返回一个弹出层的索引,可以用于关闭弹出层。例如: var index = layer.open({ type: 1, title: '弹出层', content: '这是一个弹出层', area: ['500px', '300px'], offset: '100px', closeBtn: 0, shade: 0.5, time: 3000, btn: ['确认', '取消'], yes: function(index, layero){ layer.close(index); }, cancel: function(index, layero){ layer.close(index); } }); 可以通过layer.close(index)方法关闭弹出层。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值