对jQuery UI对话框的关闭效果

时间:2013-09-25 19:39:57

标签: javascript jquery jquery-ui

我正在使用以下代码来管理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");

这很好用,但是当我关闭对话框时看不到任何效果。

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

2 个答案:

答案 0 :(得分:8)

如果我理解正确,你希望你的对话框以淡化效果关闭。

    $("#mydialog").dialog({
    autoOpen: false,
    title: "myDialog",
    modal: true,
    width: "800",
    hide: { effect: "fade", duration: 200 } //put the fade effect
});

答案 1 :(得分:0)

这里的诀窍是在淡入淡出过程结束后让对话框实际关闭,而不是在它之前。

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

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