jQuery UI对话框未居中
我使用jQuery,将内容加载到div中,然后将其显示为对话框。但是,它并没有使对话框居中 有人有解决办法吗 代码:jQuery UI对话框未居中,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,我使用jQuery,将内容加载到div中,然后将其显示为对话框。但是,它并没有使对话框居中 有人有解决办法吗 代码: 函数核心加载寄存器() { $(“正文”)。追加(“”); $(“#Register_Popup”).load(“index.php?section=FrontPage&page=Register&nogui=true”); $(“注册”弹出窗口)。对话框({ 莫代尔:是的, 高度:“自动”, 宽度:“自动”, 按钮: { “注册新帐户”: 函数() { }, “取消”: 函数(
函数核心加载寄存器()
{
$(“正文”)。追加(“”);
$(“#Register_Popup”).load(“index.php?section=FrontPage&page=Register&nogui=true”);
$(“注册”弹出窗口)。对话框({
莫代尔:是的,
高度:“自动”,
宽度:“自动”,
按钮:
{
“注册新帐户”:
函数()
{
},
“取消”:
函数()
{
$(此).dialog(“关闭”);
}
}
});
}
示例屏幕截图:
由于您的内容是动态的,请尝试等待load命令首先完成
$("#Register_Popup")
.load("index.php?section=FrontPage&page=Register&nogui=true",
function()
{
$("#Register_Popup").dialog({
modal: true,
height: "auto",
width: "auto",
buttons:
{
"Register New Account":
function()
{
},
"Cancel":
function()
{
$(this).dialog("close");
}
}
});
});
我发现使用特定的数值而不是“自动”高度和宽度选项效果更好,而且总是居中
这并不总是最佳的,尤其是在对话框中使用动态数据时。。但它对我很有效(使用jQueryUI1.9.2)。我的解决方案与公认的答案类似。内容不是动态的,因为它是一个AJAX调用,而是在显示对话框之前立即分配图像标记的
src
。即使对话框上有固定的宽度和高度,它也无法居中
setTimeout(function() {
img.dialog({
draggable: true,
height: 'auto',
width: 'auto',
maxHeight: '768',
maxWidth: '1024',
modal: true
});
}, 500 );
通过给它一个提示,对话框似乎能够意识到它的内容并正确定位自己。尝试这样做:尝试过,但对我不起作用。我不确定您的对话框代码在DOM中的位置,但我会尝试将其作为
之前的最后一个元素,我将jQueryUI更新为最新版本,它神奇地修复了自己。默认情况下,位置居中。但即便如此,我还是试着给它下定义,但它仍然不起作用。问题是我正在加载内容,这使它偏离中心。根据您的评论更新答案。
setTimeout(function() {
img.dialog({
draggable: true,
height: 'auto',
width: 'auto',
maxHeight: '768',
maxWidth: '1024',
modal: true
});
}, 500 );