整理一下彈出層的問題;
基本問題參照官方文件即可;主要來記錄關閉彈出層
一、layer.close(index) - 關閉特定層
關於它似乎沒有太多介紹的必要,唯一讓你疑惑的,可能就是這個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) - 關閉所有層
如果你很懶,你不想去獲取index你只想關閉。那麼closeAll真的可以幫上你。如果你不指向層類型的話,它會銷燬掉當前頁所有的layer層。當然,如果你只想關閉某個類型的層,那麼你可以
layer.closeAll(); //瘋狂模式,關閉所有層
layer.closeAll('dialog'); //關閉信息框
layer.closeAll('page'); //關閉所有頁面層
layer.closeAll('iframe'); //關閉所有的iframe層
layer.closeAll('loading'); //關閉加載層
layer.closeAll('tips'); //關閉所有的tips層
三、關閉彈出層之後刷新父頁面
例如:在增加用戶的時候,增加會彈出一個新的彈窗頁面,增加成功之後會有提示性的小的alert,在點擊確定之後,彈窗頁面關閉,並且刷新用戶列表的頁面數據。
只需要在關閉彈窗的時候加這個window.parent.location.reload();//刷新父頁面
success: function(data){
var res = eval('(' + data + ')');
if(res.status == '1'){
layer.msg("添加成功!");
layer.alert("添加成功!",function(){
window.parent.location.reload();//刷新父頁面
parent.layer.close(index);//關閉彈出層
});
} else{
layer.msg("添加失敗!");
}},
原文鏈接:https://blog.csdn.net/qq_17497931/article/details/81298979