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 に答える