javascript - 当内容耗尽时结束无限滚动的最有效方法是什么?

标签 javascript jquery infinite-scroll

我们有一个网络应用程序,当我们到达页面底部时,我们会自动加载更多内容,如下所示:

$window
.on('scroll', function () {
    var 
        $this = $(this)
    ;
    if ($this.scrollTop() == $document.height() - $window.height()
        && $('#product-list').hasClass('has-more')) {
        // load more content
    }
})

我们目前在父元素上使用“has-more”类,当没有更多可用内容时,该类将被删除。

我对这种方法不太满意,有什么想法吗?

最佳答案

与其在没有其他内容时删除类 has-more 并(但仍然)继续在滚动事件上检查其是否存在,为什么不删除事件处理程序本身呢?

这样你就没有事件处理程序,也没有决策,直到你再次绑定(bind)它,当其他 ajax 事件告诉你现在有可用的内容时。

关于javascript - 当内容耗尽时结束无限滚动的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9672248/

相关文章:

jquery - 初始化自己的插件

javascript - 移动浏览器中的 $(document).height() != $(window).height()

javascript - REGEX:匹配包含特定单词的字符串,但不匹配仅包含该单词的字符串

javascript - Angular Route Guard - 没有正确重定向到登录页面

javascript - 能够在向下滚动弹出窗口时访问内容

javascript - jquery 中的多个类和 id 在 safari 中不起作用

python - Tkinter |如何检测接近末尾的 tkinter 滚动条位置

json - 完成数据加载后不会删除 swift activityIndi​​cator

javascript - 如何在 jQuery 中选择类后的第一个文本?

javascript - 存储积分的最佳方式