jQuery UI对话框的关闭效果是什么?

3
我正在使用以下代码来管理jQuery UI对话框:
$("#mydialog").dialog({
      autoOpen: false,
      title: "myDialog",
      modal: true,
      width: "800",
      hide: null,
      open: function(event, ui){  
        //some code
    },
     close: function(event, ui){ 
        $("#mydialog").dialog("option", "fade", null);       
    }
});

然后我打开对话框,调用这段代码:

$("#mydialog").dialog("option", {
    modal: true
}).dialog("open");

这个代码运行良好,但是当我关闭对话框时看不到任何效果。

如何修改我的代码以获得此结果?


你想要看到什么效果? - Evan Davis
淡入淡出效果,例如。 - GVillani82
2个回答

8
如果我理解得正确,您希望对话框以淡出效果关闭。
    $("#mydialog").dialog({
    autoOpen: false,
    title: "myDialog",
    modal: true,
    width: "800",
    hide: { effect: "fade", duration: 200 } //put the fade effect
});

我已经尝试了你建议的方法,但没有效果。 - GVillani82
@Joseph82,你使用的是哪个版本的jQuery?你能否在fiddle中重现这个问题?根据我的答案中的演示样例,它应该可以工作。 - PSL
我已经编辑了我的答案,这段代码是可行的,我已经测试过了。我删除了close和open方法,因为它们会产生错误。我认为你不需要它们,因为在你的问题中它们是空的。 - Panos
更正一下,打开/关闭的部分不会出错,只是多余的。@PSL的答案也是正确的。请再检查一下你的代码。 - Panos

0

这里的技巧是在淡出过程完成之后才关闭对话框,而不是在之前。

尝试使用以下代码关闭对话框,它应该能解决问题:

$("#mydialog").fadeTo('slow', 0, function() {
  $("#mydialog").dialog('close');
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接