easyui 中iframe巢狀頁面,大彈窗自適應居中的解決方法。$('#win').window()

weixin_33941350發表於2017-03-27

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()

 

相關文章