0

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

4

2 回答 2

0

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

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

于 2012-02-27T15:03:32.243 回答
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
    }
});
于 2012-02-27T15:11:20.990 回答