我想实现类似于无限滚动的东西,但我希望它在元素位于可视窗口而不是滚动位置时触发。有任何想法吗?
问问题
447 次
2 回答
0
您可以使用 JQuery 的 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 回答