Javascript jQuery Infinite Scroll-当滚动速度很快时,事件会触发多次

Javascript jQuery Infinite Scroll-当滚动速度很快时,事件会触发多次,javascript,jquery,infinite-scroll,Javascript,Jquery,Infinite Scroll,如果我滚动页面,jQuery Infinite Scroll的事件将触发三次中的两次。我如何避免这种情况发生?当加载下一页时,jQuery无限滚动的事件不能被激活 $(function(){ var speed = 1000; var container = $('#sharelist'); container.imagesLoaded(function(){ container.masonry({ itemSelector: '.share'

如果我滚动页面,jQuery Infinite Scroll的事件将触发三次中的两次。我如何避免这种情况发生?当加载下一页时,jQuery无限滚动的事件不能被激活

$(function(){
    var speed = 1000;
    var container = $('#sharelist');
    container.imagesLoaded(function(){
      container.masonry({
        itemSelector: '.share',
        singleMode: true,
        columnWidth: 242,
        isFitWidth: true,
        animate: true,
        animationOptions: {
            duration: speed,
            queue: false
        }
      });
    });
    container.infinitescroll({
      navSelector  : '.page',     
      nextSelector : 'a.next',
      itemSelector : 'div[class=share]',
      loading: {
          finishedMsg: '报告,后面没有了哦.',
          img: 'image/icon_waiting.gif',
          msgText:'加载中'
        }
      },
      function( newElements ) {
        var newElems = $(newElements).css({ opacity: 0 });
        newElems.imagesLoaded(function(){
          newElems.animate({ opacity: 1 });
          container.masonry( 'appended', newElems, true );
          $('.namecard').floatUserInfo();
        });
      }
    );
    $("img").lazyload({
        placeholder : "image/grey.gif",
        effect      : "fadeIn"
     });
  });

有很多关于限制调整大小事件的现有文献,在这里您基本上也有相同的关注点。典型的解决方案包括调度一个异步处理程序,然后一次只允许一个挂起。最健壮的(?)方法是取消并替换旧的处理程序

例如: