jQuery - 删除前的延迟和淡出

use*_*007 3 jquery

我试图做一个.delay().fadeOut().remove()

但是delayfadeout没有效果remove

这是我的代码:

jQuery("#container").delegate(".remove", "click", function (e) {
    e.preventDefault();
    var parent = jQuery(this).data('parent');
    jQuery(this).closest('.' + parent).fadeOut(1000).delay(1000).remove();
})
Run Code Online (Sandbox Code Playgroud)

Aru*_*hny 9

为什么不

jQuery(this).closest('.' + parent).fadeOut(1000, function(){
    $(this).remove()
});
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您应该使用.fadeOut()提供的完整回调

jQuery("#container").on("click", ".remove", function (e) {
    e.preventDefault();
    var $this = jQuery(this), parent = $this.data('parent');
    $this.closest('.' + parent).fadeOut(1000).delay(1000).remove();
})
Run Code Online (Sandbox Code Playgroud)