赞助商

javascript – 在滚动时多次触发停止函数

发布时间:2019-04-15 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了javascript – 在滚动时多次触发停止函数脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

当用户滚动到底部时,下面的代码片段会加载下一页.但是,有时它会重复自己 – 当用户滚动太快时,或者在AJAX仍在加载时滚动.

有没有办法阻止它多次发射?例如,在调用AJAX时无法加载任何内容,或者只能每秒调用一次AJAX?

任何帮助都会很棒.

 $(window).scroll(function() {

   if( $(window).scrollTop() + $(window).height() == $(document).height()) {

    if (firstURL !== null) {

      $.get(firstURL,function(html) { // this gets called multiple times on erratic scrolling
        firstURL = '';
        var q = $(html).find('.post');
        l = $(html).filter('div.bottom-nav');
        if( l[0].childNodes.length > 0 ){
            firstURL = l[0].children[0].getAttribute('href');
        } else {
          firstURL =  null;
        }

          q.imagesLoaded( function() {
            jQuery(".content").append(q).masonry( 'appended',q,true );
           });
      });
       }
   }
});
最佳答案
只需添加一个标志:

var ready = true; //Assign the flag here

$(window).scroll(function() {
    //Check the flag here. Check it first,it's better performance wise.
    if(ready && $(window).scrollTop() + $(window).height() == $(document).height()) { 
        ready = false; //Set the flag here

        if (firstURL !== null) {

            $.get(firstURL,function(html) { // this gets called multiple times on erratic scrolling

                firstURL = '';
                var q = $(html).find('.post');
                l = $(html).filter('div.bottom-nav');
                if( l[0].childNodes.length > 0 ){
                    firstURL = l[0].children[0].getAttribute('href');
                } else {
                    firstURL =  null;
                }

                q.imagesLoaded( function() {
                    jQuery(".content").append(q).masonry( 'appended',true );
                });
            }).always(function(){
                ready = true; //Reset the flag here
            });
        }
    }
});

总结

以上是脚本之家为你收集整理的javascript – 在滚动时多次触发停止函数全部内容,希望文章能够帮你解决javascript – 在滚动时多次触发停止函数所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签:ajax