您的位置:首页 > Web前端 > JQuery

jquery中layer弹出层的使用,以及关闭后如何刷新调用层

2017-11-14 10:38 666 查看
首先介绍我的结构:

使用easyUI布局:北、西,中部content放置的是iframe

layer弹出层在iframe中调用,但效果需要在整体页面弹出以美观;

所以:

this.modelWindow=function(url,title,height){
layer.open({
type: 2 //Page层类型
,title:title //标题
,area: ['900px', height]
,shade: 0.6 //遮罩透明度
,maxmin: true //允许全屏最小化
,anim: 1 //0-6的动画形式,-1不开启
,content: url
});
}


function showDetail(id){
parent.x.modelWindow('${MH}/examine/examineUser?id='+id,'审核企业信息','350px');
}


调用parent父对象,利用父对象调用modelWindow弹层方法。

关闭的时候也是纠结了一点时间,因为两个都是单独的页面,所以,需要获取到弹层的索引,然后利用父对象关闭弹层;

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index); //再执行关闭


在这里,审核完成之后需要刷新easyUI数据表格,所以,并不是全部刷新,而是局部刷新,只reload iframe中的datagrid数据即可,为保证正确性,在iframe中写好刷新方法:

function dataReload(){
$("#obj").datagrid('reload');
}


然后获取到父对象,父对象获取到iframe,再去调用iframe中的方法

window.parent.document.getElementById("frm").contentWindow.dataReload();


所以最后完整的关闭弹层的方法是:

function closeMode(){
var index = parent.layer.getFrameIndex(window.name);
//先得到当前iframe层的索引
window.parent.document.
getElementById("frm")
.contentWindow.dataReload();
parent.layer.close(index); //再执行关闭
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jquery easyui 布局