我正在使用jquery uimodaldialog
,这是设置
$("#dialog").dialog({
autoOpen : false,
minWidth : 700,
show : {
effect : "fade",
duration : 1000
},
hide : {
effect : "fade",
duration : 1000
},
close : function(event, ui) {
},
});
我打电话给这个
$('.mylink').on('click', function() {
$( "#dialog" ).dialog( "open");
现在首次点击它会显示在页面中心。
如果我再次点击则会向上移动约200px。
进一步点击它说
答案 0 :(得分:1)
<input type="button" class="mylink" />
<div id="dialog">Hello</div>
$(document).ready(function () {
$("#dialog").dialog({
autoOpen: false,
minWidth: 700,
show: {
effect: "fade",
duration: 1000
},
hide: {
effect: "fade",
duration: 1000
},
position: {
my: "center",
at: "center",
of: window
},
close: function (event, ui) {},
});
$('.mylink').on('click', function () {
$("#dialog").dialog("open");
});
});
答案 1 :(得分:0)
您可以通过以下代码
来修复对话框的位置$("#dialog").dialog({
autoOpen : false,
minWidth : 700,
position: {
my: 'top',
at: 'top',
of: $('#some_div')
}
show : {
effect : "fade",
duration : 1000
},
hide : {
effect : "fade",
duration : 1000
},
close : function(event, ui) {
},
});
找到关于jquery位置的帮助
答案 2 :(得分:0)
如果其中的内容具有动态高度。我认为对话框可以更改为第二次单击。 要解决此问题,请使用对话框的高度选项。
$("#dialog").dialog({ autoOpen : false, minWidth : 700, height : 500, //it should be size of your contents show : { effect : "fade", duration : 1000 }, hide : { effect : "fade", duration : 1000 }, close : function(event, ui) { }, });