2011-06-02 62 views
3

我有下面的Javascript,并且当滚动条打到页面底部时,警报就会显示出来。在滚动条到达底部之前做一些100px的事情

但是,我希望在之前发生100像素它到达底部。我会怎么做?

$(window).scroll(function(){ 
    if($(window).scrollTop() == $(document).height() - $(window).height()){ 

    alert("at bottom"); 

    } 
} 

回答

9
$(window).scroll(function(){ 
    if($(window).scrollTop() + 100 > $(document).height() - $(window).height()){ 

    alert("at bottom"); 

    } 
}); 

使用>代替==因为滚动事件触发零星,所以你可能会滚过该值一堆次无当有一个精确匹配的情况下根本不会触发。

+0

该解决方案在IE中多次触发。 – usefulBee 2015-08-27 15:02:57

+0

@usefulBee是的,我将它留给开发人员来确定是否已采取计划的行动。这个解决方案只是在您处于目标滚动位置时进行计算。 – RwwL 2015-08-28 09:23:01