0

我有一个 js 弹出窗口,它在我的页面中间弹出。问题是,当用户向下滚动到页面底部并单击按钮触发弹出窗口时,弹出窗口将出现在屏幕顶部而不是屏幕中间(因为用户已经向下滚动,所以他/她不在页面中间)。

我想要的是,无论用户在哪里查看,弹出窗口都会在用户的屏幕中间。

function centerPopup(){
var windowWidth = document.documentElement.clientWidth;
var windowHeight = document.documentElement.clientHeight;
var popupHeight = $(".popupContent").height();
var popupWidth = $(".popupContent").width();
$(".popupContent").css({
    "position": "absolute",
    "top": windowHeight/2-popupHeight/2,
    "left": windowWidth/2-popupWidth/2
});
//this is needed for ie6
$(".backgroundPopup").css({ "height": windowHeight });
}

或者是否可以在触发弹出的按钮下方弹出一个弹出窗口?

4

1 回答 1

1

我没有测试它,但它有可能会起作用

function centerPopup(){

var windowWidth = $(window).width();
var windowHeight = $(window).height();
var popupHeight = $(".popupContent").outerHeight();
var popupWidth = $(".popupContent").outerWidth();
var windowScrollTop =  $(window).scrollTop();
var windowScrollLeft = $(window).scrollLeft();

$(".popupContent").css({
    "position": "absolute",
    "top": Math.max(0,((windowHeight -popupHeight) /2)+windowScrollTop) + "px",
    "left": Math.max(0,((windowWidth -popupWidth) /2)+windowScrollLeft) + "px"
});

}
于 2013-09-29T11:37:35.677 回答