0

我正在使用它来顺序淡入一堆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 函数的更正确的方法是什么?

4

1 回答 1

4

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

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

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

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

于 2013-09-13T21:35:16.277 回答