我正在使用window.scroll()函数在滚动时将更多html内容附加到DIV持有者。我在每个滚动事件上加载10..10。但是在加载前10个内容之后,文档大小增加,因此浏览器自动滚动并调用loadContent函数并附加新内容而不用手动滚动。我可以阻止这种机制。我只需要在用户时加载更多内容滚动按钮。
$(function(){
var loading = true;
$(window).scroll(function(){
if ( loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100 ){
loading = false;
loadContents();
loading = true;
}
});
)};
还有其他更好的方法来执行无限滚动功能吗?
答案 0 :(得分:1)
通常使用布尔标志,就像你正在做的是如何处理它。通常虽然数据是使用ajax填充的,但loading
将被更改。您loading
的值似乎也相反。
$(function(){
var loading = false;
$(window).scroll(function(){
if ( !loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100 ){
loading = true;
loadContents();
}
});
function loadContents() {
$.ajax({
...,
success: function () {
// add new data
loading = false;
}
});
}
)};