更新
我刚刚更新了 jsFiddle,以便您可以看到“弹出”正在发生以及它是如何从未居中的。它总是距离顶部 200 像素。
因此,如果用户向下滚动了一个长页面并单击以使弹出窗口发生,则弹出窗口将回到页面顶部 - 200px,而不是在可见屏幕上居中。
我将尝试下面的答案并更新结果
我的布局中包含一个隐藏的 div 作为部分
这是部分
一个 javascript 函数显示此 div 以显示 ajax 请求的结果
function showResultPopUpDiv(divId, title) {
var popUpId = document.getElementById(divId);
var popUpHeader = title;
var originalDivHTML;
var topPos = 200;
var popUpWidth;
var midPos;
var leftPos;
var spinnerOpts;
//Insert header text & open pop up
popUpId.style.display = "block";
document.getElementById("ajaxResultPopUpHeaderText").innerHTML = popUpHeader;
//Set position dimensions
popUpWidth = popUpId.offsetWidth / 2;
midPos = $(document).width() / 2;
leftPos = midPos - popUpWidth;
//Position pop up (center)
popUpId.style.top = topPos + "px";
popUpId.style.left = leftPos + "px";
//Insert spinning loader code here
... //left out for brevity
}
如果视图长于单个屏幕并且用户滚动到底部并单击了提交按钮,则此 div 会弹出,但除非用户滚动回顶部,否则无法看到。
无论页面当前滚动到何处,如何使它正确地居中在窗口上。
这个问题和我调查过的其他问题并没有为我解决这个问题。有任何想法吗?