这是我的代码:
dialog = $(this).closest('.ui-dialog')
dialog.animate({
left: document.width - dialog.width(), // or you might want to use .outerWidth()
top: document.height - dialog.height()
}, 1000);
我想将jQuery对话框放在页面的中心,带有动画。我只是不明白为什么它不起作用。任何人都可以帮助我吗?
答案 0 :(得分:1)
我其实更喜欢position:fixed
。这是一个简单的对话演示,转换到浏览器窗口的中心。
演示:http://jsfiddle.net/FJPjQ/show
来源:http://jsfiddle.net/FJPjQ/
基本上它需要一个位置:固定div并给它一个50%的左值和50%的最高值。这会将对话框的左上角放在窗口的中心。为了使对话本身居中,你可以给它一个负高度的一半的上边距和一半宽度的左边距。
var dialogue = $('.ui-dialog')
dialogue.animate({
left: "50%",
top: "50%",
marginLeft: -dialogue.width()/2,
marginTop: -dialogue.height()/2
}, 1000);
<div class="ui-dialog">hi there</div>
.ui-dialog
{
width: 200px;
height: 50px;
background: red;
/* change these to change where it slides in from */
top: -100px;
margin-left: -100px;
left: 50%;
/* and this is what makes it work */
position: fixed;
}
答案 1 :(得分:0)
此代码段可以帮助您同时居中和制作动画:
$("#myJQUIdialog").parent().position({
my: "center",
at: "center",
of: window,
using: function (pos, ext) {
$(this).animate({ top: pos.top }, 600);
}
});