0

我正在使用.removeinside.bind来关闭一个对话窗口。我希望窗口 ( .another_one) 到.fadeOut,但我无法弄清楚在哪里放置代码。

我尝试将 .fadeOut 添加到代码中的各个位置,但它破坏了功能(保留再次打开窗口而不刷新页面的能力)。就目前的代码而言,窗口会立即关闭:

$("body").append(the_empty);
the_empty.hide(); 
the_empty.bind("click", function(){
    $(".another_one").remove();
    $(this).hide();
});
4

2 回答 2

1

问题是这remove不是动画,因此没有排队。它立即执行并且不等待动画完成。要解决这个问题,您可以简单地removefadeOut.

$(".another_one").fadeOut(1000, function(){
    $(this).remove();
});
于 2013-07-23T17:54:04.100 回答
0

初始化dialog元素时,可以指定close触发事件时要执行的函数。这是一个例子:

JavaScript/jQuery

$('<p>An example</p>').dialog({
    close: function () {
        alert('Closing...');
        $(this).dialog("destroy");
    },
    hide:"fadeOut"
});

JSFiddle

于 2013-07-23T17:57:34.847 回答