Here有一个例子:
<div id='example'>
ciao
</div>
$('#example').fadeOut(600).delay(600).remove();
我希望淡化元素,而不是删除它,但看起来.remove()
忽略.delay()
(因此元素会立即删除)。
我该如何解决这个问题?
答案 0 :(得分:6)
.remove
与动画无关,因此.delay
无效。
你可以做的是传递一个在动画结束时执行的函数(回调参数 - 见http://api.jquery.com/fadeOut/):
$('#example').fadeOut(600, function() {
$(this).remove();
});
答案 1 :(得分:4)
指定回调
$('#example').fadeOut(600, function() { $(this).remove(); });
答案 2 :(得分:3)
而不是使用延迟,将回调传递给fadeOut:
$('#example').fadeOut(600, function() {
$("#example").remove();
});