我正在尝试在我的应用中创建一条弹出消息。成功之后我想打开一个对话框,为它制作动画......然后关闭它。我想一个更好的问题应该是,“你如何在Jquery中创建一个定时弹出窗口...但无论如何,当我运行我的代码时,我的对话框似乎只是瞬间出现。如果我删除对话框('关闭'行直到那一点为止.jquery是按顺序还是并行地触发这些命令?
$.ajax({
type: "POST",
url: "/Sales",
data: { customer: [id] },
success: function(msg) {
$('#thanks').dialog('open');
$('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000);
$('#thanks').dialog('close');
}
});
答案 0 :(得分:5)
使用行的方式,它几乎可以同步工作。尝试
$('#thanks').dialog('open').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000).dialog('close');
答案 1 :(得分:1)
您可能希望在 animate 函数的回调中关闭对话框:
$.ajax({
type: "POST",
url: "/Sales",
data: { customer: [id] },
success: function(msg) {
$('#thanks').dialog('open');
$('#thanks').animate({ backgroundColor: '#aa0000', color: '#fff', width: 500 }, 2000, "linear", function(){ $('#thanks').dialog('close'); });
}
});
但我认为你最好不要使用插件,例如jGrowl?
答案 2 :(得分:0)
可能不会等待动画完成。尝试添加等待2000,或链接关闭。
答案 3 :(得分:0)
.dialog('close')
来电不等待您的动画。但是你真的想立即关闭对话框,或者你不应该等待用户输入(即链接/按钮点击)关闭它?