我在我的应用程序中使用了一个对话框,当我的页面内容增长时,它会导致对齐问题。
直到我的页面很短并且内容较少,它常常在我页面的中心弹出。但是,现在我的页面已经垂直增长,一旦我点击我的弹出窗口,我希望它位于屏幕的中心,而不是每次都滚动到页面的中心。
#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);
}
另外,我无法更改现有的弹出插件,因为我在整个网站中重复使用它,这将是一个很大的开销。