0
4

3 回答 3

2

有一个参数.fadeIn()可以解决这个问题。

$('ul#portfolio li.hidden').fadeIn('slow', function()
{
    // Fade has finished, continue here.
    //
    //

});
于 2012-12-19T05:57:39.937 回答
1

给它一个回调函数。尝试:

jQuery(this).fadeOut('normal', function(){
    $(this).addClass('hidden'); 
})

如果必须多次执行,请使用:

jQuery('ul#portfolio li').each(function() {  
    if(!jQuery(this).hasClass(filterVal)) {  
        jQuery(this).addClass('hidden');  
    } else {  
        jQuery(this).removeClass('hidden');  
    }  
});  

$('ul#portfolio li.hidden').fadeOut('normal', function(){
    //Finished
});
$('ul#portfolio li:not("hidden")').fadeIn('slow', function(){
    //Finished
});
于 2012-12-19T05:57:25.643 回答
0

所以我想我发现了如何使用.promise()

我的代码看起来像这样:

jQuery('ul#portfolio li').promise().done(function()
{
    jQuery('ul#portfolio li').each(function()
    {
        console.log(jQuery(this).attr('class') + '-' + jQuery(this).css('display'));

    });

});
于 2012-12-19T06:03:14.283 回答