我正在使用这个javascript / jQuery来打开一个对话框,但是当我向下滚动页面并在关闭第一个窗口后打开另一个窗口时,窗口将在我的选择位置打开,加上位置I向下滚动。当我尝试移动它时,它将继续跳向下,导致非常恼人的结果。
function showDialog(url) {
dialogFrame = $('<iframe style="width:100% !important;" frameborder="0" id="Dialog" src="' + url + '" />').dialog({
autoOpen: true,
height: 500,
width: 1000,
title: 'myWindow',
resizable: false,
modal: true,
position: {
my: "center",
at: "center",
of: window
}
});
}
如何防止此行为?它可能是position : { }
,但应该是什么?
答案 0 :(得分:1)
当body
具有CSS属性position:relative;
时,我遇到了与jQuery UI对话框相同的问题。您可能想检查是否是这种情况。
在我的情况下,我无法移除position:relative;
所以我决定覆盖top
值并使用固定定位:
$(".dialogFrame").dialog({
// ...
open: function(event, ui) {
$(event.target).parent().css('position', 'fixed');
$(event.target).parent().css('top', '20px');
}
// ...
});
可以通过计算屏幕的有效中心来优化脚本。