效果类似于javascript / jquery的无限滚动

时间:2012-02-27 14:54:41

标签: javascript jquery scroll infinite-scroll

我想实现类似于无限滚动的东西,但我希望它在元素位于可视窗口而不是滚动位置时触发。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可以使用JQuery的offset()来查看元素是否在屏幕上:

http://api.jquery.com/offset/

答案 1 :(得分:0)

我在Utils类中有一些小的静态辅助函数,用于以下场合:

Utils = {
    underView: function(element) {
    return (($(window).height() + $(window).scrollTop()) <= element.offset().top);
},

aboveView: function(element) {
    return ($(window).scrollTop() >= element.offset().top + element.height());
},

inView: function(element) {
    return (Utils.aboveView(element) !== true && Utils.underView(element, element.height()) !== true);
}

};

如此实施:

$(window).scroll(function(){
    if(Utils.inView($(".div"))){
        // do something
    }
});