jquery kill长时间运行.each函数

时间:2013-09-13 21:34:05

标签: jquery each

我正在使用它来依次淡出一堆div:

   $('#headerwrapper div').each(function(i) {
         $(this).delay(999 + (i * 999)).fadeIn(); 
   });

http://jsfiddle.net/V2pCv/3/

我正试图弄清楚如何通过.scroll来阻止它。 (暂停/恢复会很好,但在搜索并尝试了几十件事之后,我已经准备好放弃那么多了。)

这是滚动功能:

   $(window).scroll(function(){
        if ($(this).scrollTop() > 20) {
               $('#headerwrapper').fadeOut();
        } else {
               $('#headerwrapper').fadeIn();
        }
    });

能够杀死.each函数似乎如此重要的原因就是完成了 产品将会加载数十张图片,而对我来说,如果那些图片甚至没有 视口函数应该停止以释放处理/内存。

我不知道父div的.fadeOut是否足以实际停止/杀死.each函数,或者它仍然在后台持续发射无关紧要。什么是更正确的杀人方式(如果你感觉慷慨,可以暂停/恢复)这个.each功能?

1 个答案:

答案 0 :(得分:4)

这应足以结束标题div上的所有排队效果。

$("#headerwrapper div").finish()

在早期版本的jQuery中,使用.stop(true,true)代替.finish()

除了从头开始之外,我不建议尝试恢复它。