我正在使用JQuery UI,并希望将对话框水平居中但垂直位于中心上方,可能是固定数量的像素或距离页面顶部的相对距离。是否有捷径可寻?看起来只有几个预先定义的值,或者我可以使用一个确切的位置,但有一个简单的方法来实现这一目标吗?
$("#dialog-form").dialog({
autoOpen: false,
width: 630,
position: 'center',
modal: true,
resizable: false,
closeOnEscape: false
});
答案 0 :(得分:74)
使用position option将对话框的顶部与窗口顶部对齐(加上像素或百分比偏移量)。
这应该使对话框水平居中,并将其放置在距离顶部150像素的位置。
$("#dialog-form").dialog({
autoOpen: false,
width: 630,
position: { my: 'top', at: 'top+150' },
modal: true,
resizable: false,
closeOnEscape: false
});
旧版本的jQuery UI使用了一个数组,其中包含一个[x,y]坐标对,在视口左上角的像素偏移处(例如[350,100])。
var dialogWidth = 630;
$("#dialog-form").dialog({
// ...
width: dialogWidth,
position: [($(window).width() / 2) - (dialogWidth / 2), 150],
// ...
});
答案 1 :(得分:2)
答案 2 :(得分:1)
我在寻找同样的问题时遇到了这个问题,我已经得到了答案:
position: ['center', 'top+100']
这将水平居中,顶部为100像素
这也有效
position: ['center', 'center+100']
水平居中,距中心100像素
答案 3 :(得分:0)
我调整了Exlord的答案以适应。
职位:[' center-7%',' center-12%']
水平和垂直调整
$(".popup").dialog({
position: ['center-7%', 'center-12%'],
title: 'Updating',
width: "auto",
}
});
答案 4 :(得分:0)
试试这个:
position: {
my: 'top',
at: 'top',
of: $('#some-div')
},
答案 5 :(得分:0)
position: {
my: 'top',
at: 'top+150'
}
为我工作。
答案 6 :(得分:0)
如果由于链接的类有点击事件处理程序而有人正在创建打开jQuery对话框的链接,那么可能会注意到它可能会跳到顶部页面,但在页面下方创建模式对话框,你必须滚动到它。
如果有人试图阻止jQuery对话框跳到顶部,希望它保持在您点击的链接附近,只需删除href
即可。几乎疯了试图解决这个问题。 HTML5规范显然理解href=""
或href="#"
意味着移至顶端。
答案 7 :(得分:-5)
将css应用到#dialog-form use%sample
如果width = 1000
把
左:50% 保证金左:-500px;
使其居中。或者你可以使用iframe。