2

我试图在 onscroll 期间进行延迟加载。下面是代码:

$(window).scroll(   
            function() {


                if ($(window).scrollTop() > ($(document).height() - $(window).height() - 200) && !loadNews))

                {
                        loadNews = true;
                        loadMoreNewsItems();

                }
            }); 

LoadMoreNewsItems() 执行 AJAX 调用并附加数据,在 AJAX 调用成功时将 loadNews 标志再次设置为 false。

上述实现是否正确。由于newsitems 下方的页脚块,我减去了200。

当我们检查时,有时用户必须滚动到页脚才能加载更多新闻站点。我正在移动设备上检查这个。这里可能是什么问题。

而且,有时当我们快速滚动时,会有多个 AJAX 请求。但是,我添加了 loadNews 标志来避免这种情况。但是,它也不起作用。

请帮忙。

4

1 回答 1

0

这就是我用来做无限滚动的

var d=document;
var remainingHeight=d.scrollHeight - d.clientHeight - (d.scrollTop || document.body.scrollTop);

if(remainingHeight < 500){
     //do the loading process
}

您应该尝试一下,而不是当前的测试,它应该可以解决您的手机问题。

此外,关于多个 ajax 请求和您的标志,问题是 && !loadNews 未正确放置在您的测试中,它位于错误的括号集中。

于 2013-08-01T07:25:33.043 回答