为什么.show()在.slideUp()之后没有被触发?

时间:2013-02-27 12:01:19

标签: jquery html5

我正在优雅地尝试在上传后关闭文件列表div。

uploader.bind('UploadComplete', function(up, files) {
    jQuery('#filelist').delay(500).slideUp('slow').promise().done(function(){
        jQuery('#filelist .file_name').remove();
    }).show();
});

.slideUp()将样式style="display: none;"添加到我的div中。我试图在.show()解雇后调用.slideUp()来删除此内容。但似乎a)我不太清楚jQuery是如何工作的,并且b)将.show()置于错误的位置。

谁能告诉我如何解决这个问题?谢谢:))

1 个答案:

答案 0 :(得分:2)

举一个例子,假设你有一个display:none;元素.hidden

$('.hidden').fadeTo(3000, 1).hide(); // will never fade
$('.hidden').hide().fadeTo(3000, 1); // will fade !

uploader.bind('UploadComplete', function(up, files) {
    jQuery('#filelist').delay(500).slideUp('slow').promise().done(function(){
        jQuery('#filelist .file_name').remove();
        jQuery('#filelist').show(); // PUT INSIDE CALLBACK
    });
});