Jquery waypoints无限滚动带砖石问题带快速滚动
我使用下面的代码使用无限滚动处理砖石结构,但是如果我快速滚动,则不会加载新内容,除非我向上滚动一点,然后再向下滚动 如果我慢慢滚动,它就可以正常工作 我主要使用waypoints无限滚动快捷方式的默认设置,数据通过More链接从php加载。 php文件在每次调用中显示12项,然后是一个新的More链接[除非没有更多数据]Jquery waypoints无限滚动带砖石问题带快速滚动,jquery,infinite-scroll,masonry,Jquery,Infinite Scroll,Masonry,我使用下面的代码使用无限滚动处理砖石结构,但是如果我快速滚动,则不会加载新内容,除非我向上滚动一点,然后再向下滚动 如果我慢慢滚动,它就可以正常工作 我主要使用waypoints无限滚动快捷方式的默认设置,数据通过More链接从php加载。 php文件在每次调用中显示12项,然后是一个新的More链接[除非没有更多数据] <script> $( document ).ready(function() { var container = $('.infinite-container'
<script>
$( document ).ready(function() {
var container = $('.infinite-container');
// initialize Masonry after all images have loaded
container.imagesLoaded( function() {
container.masonry({
itemSelector: '.infinite-item',
transitionDuration: 0
});
});
$('.infinite-container').waypoint('infinite', {
onAfterPageLoad: function() {
$(container).masonry('reloadItems');
$(container).imagesLoaded( function() {
$(container).masonry('layout');
});
}
});
});
</script>
虽然这不是解决航路点问题的真正办法,但它是一种解决办法 我切换到使用无限滚动插件,它现在可以工作了。 只需对现有代码进行很少的更改,将当前航路点的更多链接包装在页面nav div中 这是新的代码,以防对其他人有所帮助
$( document ).ready(function() {
var $container = $('.infinite-container');
// initialize Masonry after all images have loaded
$container.imagesLoaded( function() {
$container.masonry({
itemSelector: '.infinite-item',
transitionDuration: 0,
"isFitWidth": true
//columnWidth: 200
});
});
$container.infinitescroll({
navSelector : '#page-nav', // selector for the paged navigation
nextSelector : '#page-nav a', // selector for the NEXT link (to page 2)
itemSelector : '.infinite-item', // selector for all items you'll retrieve
loading: {
finishedMsg: 'No more pages to load.',
msgText: '<em>loading...</em>',
img: 'images/loading.gif'
}
},
// trigger Masonry as a callback
function( newElements ) {
// hide new items while they are loading
var $newElems = $( newElements ).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function(){
// show elems now they're ready
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
}
);
});