javascript-jQuery Infinite-Scroll-快速滚动事件会多次触发
作者:互联网
如果我滚动页面,jQuery Infinite Scroll的事件将被触发两次,每次触发三遍.如何避免这种情况发生?当下一页加载时,不能触发jQuery Infinite Scroll的事件.
$(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"
});
});
解决方法:
关于限制节流大小事件的现有文献很多,这里您基本上也有同样的担忧.典型的解决方案包括调度异步处理程序,然后一次只允许一个挂起.最健壮的方法是取消和替换旧处理程序.
例如:
http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
标签:infinite-scroll,javascript,jquery 来源: https://codeday.me/bug/20191201/2081515.html