layer弹出层关闭

背景描述:

今天写项目需求,需要在弹出提示信息之后加个自定义的方法,加了之后发现弹出框点击确定之后没法正常关闭,百度了一下发现是要取一个index值,然后调用layer.close(index)关闭。

解决方案

  首先在调用layer.alert("提示信息",function(){});时需要取到这个alert的index即var index = layer.alert("提示信息",function(){}),然后在自定义方法内调用layer.close(index);即:

    var index =layer.alert("提示信息",function () {
                            layer.close(index);
                        })

查看了一下资料index是指索引,我的理解为利用索引来定位页面上的唯一一个元素

所查看资料:

一、layer.close(index) - 关闭特定层


//当你想关闭当前页的某个层时
var index = layer.open();
var index = layer.alert();
var index = layer.load();
var index = layer.tips();
//正如你看到的,每一种弹层调用方式,都会返回一个index
layer.close(index); //此时你只需要把获得的index,轻轻地赋予layer.close即可
 
//如果你想关闭最新弹出的层,直接获取layer.index即可
layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
 
//当你在iframe页面关闭自身时
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); //再执行关闭   


二、layer.closeAll(type) - 关闭所有层



layer.closeAll(); //疯狂模式,关闭所有层
layer.closeAll('dialog'); //关闭信息框
layer.closeAll('page'); //关闭所有页面层
layer.closeAll('iframe'); //关闭所有的iframe层
layer.closeAll('loading'); //关闭加载层
layer.closeAll('tips'); //关闭所有的tips层  


三、关闭弹出层之后刷新父页面

 例如:在增加用户的时候,增加会弹出一个新的弹窗页面,增加成功之后会有提示性的小的alert,在点击确定之后,弹窗页面关闭,并且刷新用户列表的页面数据。

  只需要在关闭弹窗的时候加这个window.parent.location.reload();//刷新父页面

最后

引用一下所查资料的博主连接,感谢博主!
https://blog.csdn.net/qq_17497931/article/details/81298979

你可能感兴趣的:(日常问题)