Javascript 等待某些代码运行

Javascript 等待某些代码运行,javascript,jquery,Javascript,Jquery,这是这篇文章的延续- 不管怎样,我想知道是否有一种方法可以检测特定代码段是否在运行新行代码之前一直运行到完成 比如说, if(filterVal == 'all') { jQuery('ul#portfolio li.hidden').fadeIn('slow').removeClass('hidden'); } else { jQuery('ul#portfolio li').each(function() { if(!jQuery(this).

这是这篇文章的延续-

不管怎样,我想知道是否有一种方法可以检测特定代码段是否在运行新行代码之前一直运行到完成

比如说,

if(filterVal == 'all') {  
    jQuery('ul#portfolio li.hidden').fadeIn('slow').removeClass('hidden');  
} else {  
    jQuery('ul#portfolio li').each(function() {  
        if(!jQuery(this).hasClass(filterVal)) {  
            jQuery(this).fadeOut('normal').addClass('hidden');  
        } else {  
            jQuery(this).fadeIn('slow').removeClass('hidden');  
        }  
    });  
} 

我要做的是确保所有列表项元素在触发jPages函数创建分页之前都已成功淡入淡出(display:block)和淡出(display:none)。

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

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
});

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

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
});
其中有一个参数处理这个问题

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

});
其中有一个参数处理这个问题

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

});

所以我想我发现了如何使用

我的代码如下所示:

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

    });

});

所以我想我发现了如何使用

我的代码如下所示:

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

    });

});

查看
fadeIn
fadeOut
方法的回调参数。查看
fadeIn
fadeOut
方法的回调参数。这个淡出方法有8项,我只想在最后运行代码?因为我想对所有列表项实现jPages脚本。使用这个淡出方法有8项,我只想在它的末尾运行代码?因为我想对所有列表项实现jPages脚本。如果有8项使用此淡出方法,而我只想在最后运行代码,该怎么办?因为我想对所有列表项实现jPages脚本。@XavianTracy我不知道你的意思。你的意思是你想让这些项一个接一个地淡出,就像它们“排队”一样,还是说你只想在所有8次淡出后运行一次回调,而不是8次单独的回调?如果有8个项使用这个淡出方法,而我只想在它结束时运行代码呢?因为我想对所有列表项实现jPages脚本。@XavianTracy我不知道你的意思。您的意思是希望项目彼此淡出并表现为“排队”,还是只希望在所有8次淡出后运行一次回调,而不是8次单独的回调?