.remove()忽略.delay()?

时间:2011-08-13 16:09:44

标签: jquery

Here有一个例子:

<div id='example'>
    ciao
</div>

$('#example').fadeOut(600).delay(600).remove();

我希望淡化元素,而不是删除它,但看起来.remove()忽略.delay()(因此元素会立即删除)。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:6)

.remove与动画无关,因此.delay无效。

你可以做的是传递一个在动画结束时执行的函数(回调参数 - 见http://api.jquery.com/fadeOut/):

$('#example').fadeOut(600, function() {
    $(this).remove();
});

http://jsfiddle.net/pimvdb/Sny7P/1/

答案 1 :(得分:4)

指定回调

$('#example').fadeOut(600, function() { $(this).remove(); });

答案 2 :(得分:3)

而不是使用延迟,将回调传递给fadeOut:

$('#example').fadeOut(600, function() {
    $("#example").remove();
});