弹出对话框的中心定位

时间:2011-09-29 10:18:54

标签: popup positioning center

我在我的应用程序中使用了一个对话框,当我的页面内容增长时,它会导致对齐问题。

直到我的页面很短并且内容较少,它常常在我页面的中心弹出。但是,现在我的页面已经垂直增长,一旦我点击我的弹出窗口,我希望它位于屏幕的中心,而不是每次都滚动到页面的中心。

#bdy_content 是我页面中的父/根div。

目标元素实际上是 span ,如下所示:

<span adname="testtraffickerbannertext" adtag="Click here!" title="showAdTag">
   <a class="banner" href="javascript:void(0);" title="showAdTag">Ad Tag</a>
</span>

这是我的 centerPopup()功能:

function centerPopup(e){
var target = e.target.title;
//request data for centering
var windowWidth = document.documentElement.clientWidth;
var windowHeight = $('#bdy_content').height();
    if(windowHeight < 600){
        windowHeight = 600;
    }
var popupHeight = $("#" + target).height();
var popupWidth = $("#" + target).width();
//centering
$("#"+ target).css({
    "position": "absolute",
    "top": windowHeight/2-popupHeight/2,

    //Instead, we go with where the click was
   //   "top" : e.pageY - 20,
    "left": windowWidth/2-popupWidth/2
});
//only need force for IE6

$("#previewCurtain").css({
    "height": windowHeight
});
window.scrollTo(0,windowHeight/2-popupHeight/2);

}

另外,我无法更改现有的弹出插件,因为我在整个网站中重复使用它,这将是一个很大的开销。

0 个答案:

没有答案