2012-02-27 53 views
0

我想实现类似于无限滚动的东西,但我希望它在元素处于可查看窗口而非滚动位置时触发。有任何想法吗?效果类似于无限滚动对于javascript/jquery

+0

没有人呢。但从我所了解的所有人中,他们都是以寡妇身高或滚动条位置为基础的,而不是天气可见或不可见。我有点看起来像是在滚动和lazyload之间的东西,我猜。 – David 2012-02-27 15:00:03

回答

0

我在occassions如它们的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 
    } 
}); 
+0

似乎接近。你如何得到这样的东西在后台运行,以便用户不必手动触发它? – David 2012-02-27 15:14:19

+0

@David:将它添加到窗口的'load','resize'和'scroll'事件中。 – 2012-02-27 15:15:50

+0

刚刚编辑实现以在滚动事件中显示它。 – utopastac 2012-02-27 15:35:50