Javascript 如何在加载新HTML内容时防止自动滚动事件?

Javascript 如何在加载新HTML内容时防止自动滚动事件?,javascript,jquery,Javascript,Jquery,我正在使用window.scroll()函数在滚动时将更多html内容附加到DIV保持架。我在每个滚动事件上加载10..10。但在加载前10个内容后,文档大小会增加,因此浏览器会自动滚动并调用loadContent功能并添加新内容,而无需手动滚动。我如何防止这种机制。只有当用户滚动按钮时,我才需要加载更多内容 $(function(){ var loading = true; $(window).scroll(function(){ if ( loading && $

我正在使用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;
 }
 });
 )};

还有其他更好的方法来执行无限滚动功能吗?

通常使用布尔标志,就像您正在做的一样,这是您将如何处理的。通常情况下,虽然数据是使用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功能。