我在Joomla工作,所以很难产生一个小提琴,但这是我的想法:
我有一个由12篇文章组成的马赛克网格显示在页面加载上,还有一个“加载更多”按钮--当点击时,又会加载12篇文章,以此类推。
当用户滚动到按钮时,如何触发按钮自动单击,并自动加载接下来的12个按钮,等等?
按钮HTML:
<div class="loadmore">
<span class="loadmore-text">load more</span>
</div>
在按钮上单击:
container.addEvent('click:relay([data-mosaic-loadmore])', relay['loadmore']);
container.addEvent('click:relay([data-mosaic-orderby])', relay['ordering']);
container.addEvent('click:relay([data-mosaic-filterby])', relay['filtering']);
发布于 2014-11-12 21:41:30
你可以检查用户是否滚动到末尾?
将$( document ).scrollTop与文档的高度进行比较,如果位于底部,则可以触发单击。
$(document).on('scroll', function () {
var height = $('body')[0].scrollHeight;
if (height - $(document).scrollTop() < 1.1 * $(window).height()) {
loadConent();
}
});
发布于 2014-11-12 22:12:19
检测您向下滚动了多远并不是一种好的方法,因为将来您可能会发现内容的长度将发生变化,因此您将不得不更新值。
相反,我建议这样做:
jQuery(document).ready(function($){
var loadmore = $('.loadmore');
$(document).on('scroll', function(){
if (loadmore.visible(true)){
loadmore.trigger('click');
}
});
});
https://stackoverflow.com/questions/26888277
复制相似问题