你如何使用jQuery检测你何时接近屏幕底部?

chr*_*lee 17 html javascript css jquery

我正在阅读哈佛商业评论(HBR)博客文章"高级领导者的特质"(2011-02-22).他们也在纽约时报(纽约时报)这样做.如何检测读者何时一直滚动到底部?

在HBR上,当您滚动靠近底部时,它们会为您提供另一篇文章供您阅读.

Jef*_*eff 17

虽然另一个答案会告诉你当你处于最底层时,回答你关于如何判断你何时接近底部的问题,我之前使用过这个:

if  ( ($(document).height() - $(window).height()) - $(window).scrollTop() < 1000 ){
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

您可以将值"1000"更改为您想要的任何值,以便在距离底部很多像素时触发您的脚本.


DrS*_*ove 15

$(window).scroll(function(){
    if ($(window).scrollTop() == $(document).height()-$(window).height()){
        alert("We're at the bottom of the page!!");
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 请查看http://ejohn.org/blog/learning-from-twitter/.在窗口上捕捉滚动事件时要小心. (4认同)
  • "**将处理程序附加到窗口滚动事件是一个非常非常糟糕的想法.**根据浏览器的不同,滚动事件可以激活很多,并且将代码放入滚动回调将减慢任何滚动页面的尝试(不是一个好主意)",参见 [从Twitter学习](http://ejohn.org/blog/learning-from-twitter/) (2认同)

Hus*_*ein 5

$(window).scroll(function () {
   if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
      alert('end of page');
   }
});
Run Code Online (Sandbox Code Playgroud)

-10表示在执行函数之前用户必须离页面有多远.这使您可以根据需要灵活地调整行为.

查看http://jsfiddle.net/wQfMx/上的工作示例