Javascript 如何在加载新HTML内容时防止自动滚动事件?
我正在使用window.scroll()函数在滚动时将更多html内容附加到DIV保持架。我在每个滚动事件上加载10..10。但在加载前10个内容后,文档大小会增加,因此浏览器会自动滚动并调用loadContent功能并添加新内容,而无需手动滚动。我如何防止这种机制。只有当用户滚动按钮时,我才需要加载更多内容Javascript 如何在加载新HTML内容时防止自动滚动事件?,javascript,jquery,Javascript,Jquery,我正在使用window.scroll()函数在滚动时将更多html内容附加到DIV保持架。我在每个滚动事件上加载10..10。但在加载前10个内容后,文档大小会增加,因此浏览器会自动滚动并调用loadContent功能并添加新内容,而无需手动滚动。我如何防止这种机制。只有当用户滚动按钮时,我才需要加载更多内容 $(function(){ var loading = true; $(window).scroll(function(){ if ( loading && $
$(function(){
var loading = true;
$(window).scroll(function(){
if ( loading && $(window).scrollTop() + $(window).height() > $(document).height() - 100 ){
loading = false;
loadContents();
loading = true;
}
});
)};
还有其他更好的方法来执行无限滚动功能吗?通常使用布尔标志,就像您正在做的一样,这是您将如何处理的。通常情况下,虽然数据是使用ajax填充的,但这就是
加载
的地方。您加载<代码>的值似乎也是相反的
$(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;
}
});
}
)};
看见我看不出代码自动滚动有任何问题。检查loadContents功能。