easyui 中iframe嵌套页面,大弹窗自适应居中的解决方法。$('#win').window()

时间:2021-04-27 13:04:07

easyui 中iframe嵌套页面,大弹窗自适应居中的解决方法。$('#win').window()

以下是左边栏和头部外层遮罩显示和隐藏方法

/*外层 遮罩显示*/
function wrapMaskShow(){
var maskTop = window.top.$("#mask-top");//外层遮罩
var maskLeft = window.top.$("#mask-left");
maskTop.show();
maskLeft.show();
$('body').css('overflow','hidden');//禁止滚动
}
/*外层 遮罩隐藏*/
function wrapMaskHide(){
var maskTop = window.top.$("#mask-top");
var maskLeft = window.top.$("#mask-left");
maskTop.hide();
maskLeft.hide();
$('body').css('overflow','auto');//恢复滚动
}

以下是弹窗生成方法

<div id="win"></div>
/*弹窗*/
function windowmask(){
/*外层 遮罩显示*/
wrapMaskShow(); $('#win').window({
width:800,
height:560,
modal:true,
title:'添加区域',
collapsible:false,
minimizable:false,
maximizable:false,
draggable:false,
resizable:false,
onClose : function () {
/*外层 遮罩隐藏*/
wrapMaskHide();
}
});
winHiSelfAdaptation($('#win'));//高度自适应 }

以下是弹窗高度自适应居中的方法

//弹窗高度自适应
function winHiSelfAdaptation(o){
var htmlW = $(window).width();//子页面宽度
var oParent = o.parents('.window');//弹窗
var h = oParent.height();
var w = oParent.width();
var mgt = h/2;//弹窗高度一半
var mgl = w/2;//宽度一半
oParent.css({
'position':'fixed',
'top':'50%',
'left':'50%',
'margin-top':-mgt+'px',
'margin-left':-mgl-100+'px'//这里的-100是因为左边目录栏宽度是200px,为了居中,所有弹窗margin-left需要减去100px
});
if(htmlW<1000){
oParent.css('margin-left',-mgl+'px');//小屏幕显示器,避免弹窗被左边目录栏遮住
}
}

通过以上代码和说明,就能完美解决easyui 中iframe嵌套页面,大弹窗自适应居中问题。$('#win').window()