首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery无限滚动的替代方案

jQuery无限滚动的替代方案
EN

Stack Overflow用户
提问于 2011-01-30 14:48:42
回答 5查看 27.5K关注 0票数 19

有没有替代jQuery无限滚动插件的方法?

http://www.beyondcoding.com/2009/01/15/release-jquery-plugin-endless-scroll/

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-30 15:48:09

例如,infinite scroll plugin

票数 5
EN

Stack Overflow用户

发布于 2011-01-30 17:50:57

这应该可以在没有插件的情况下完成相同的操作

代码语言:javascript
运行
复制
$(window).scroll(function () { 
   if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) {
      //Add something at the end of the page
   }
});

编辑2014年1月15日

根据@pere的评论,最好使用下面的代码来避免过多的事件触发。

从这个答案中获得灵感https://stackoverflow.com/a/13298018/153723

代码语言:javascript
运行
复制
var scrollListener = function () {
    $(window).one("scroll", function () { //unbinds itself every time it fires
        if ($(window).scrollTop() >= $(document).height() - $(window).height() - 100) {
            //Add something at the end of the page
        }
        setTimeout(scrollListener, 200); //rebinds itself after 200ms
    });
};
$(document).ready(function () {
    scrollListener();
});
票数 61
EN

Stack Overflow用户

发布于 2012-11-06 20:04:32

结合Ergec的回答和Pere的评论:

代码语言:javascript
运行
复制
function watchScrollPosition(callback, distance, interval) {
    var $window = $(window),
        $document = $(document);

    var checkScrollPosition = function() {
        var top = $document.height() - $window.height() - distance;

        if ($window.scrollTop() >= top) {
            callback();
        }
    };

    setInterval(checkScrollPosition, interval);
}

distance是从屏幕底部开始触发回调时的像素数。

interval是运行检查的频率(以毫秒为单位;250-1000是合理的)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4841585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档