检测Scroll何时到达页面的底部[没有jQuery]

15 javascript scroll

当滚动到达页面的BOTTOM时,我想提醒一些事情,如下所示:

$(function(){
  $(document).scroll(function() {
    if($(document).scrollTop() == 0) alert("top");
  })
})
Run Code Online (Sandbox Code Playgroud)

但是没有jQuery,当到达底部时会发出警报.

bre*_*dan 42

document.addEventListener('scroll', function (event) {
    if (document.body.scrollHeight == 
        document.body.scrollTop +        
        window.innerHeight) {
        alert("Bottom!");
    }
});
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/cSer6/

  • 此代码不适用于所有浏览器 - 这是一个由多个来源(代码中的URL)合成的完整解决方案:http://jsfiddle.net/W75mP/ (8认同)

Den*_*nis 2

document.onscroll = function() {
    if(!document.body.scrollTop){
        alert('top');
    }
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle演示

  • 我更喜欢 `.addEventListener('scroll', ...)` 而不是 `.onscroll = ...`,以获得额外的灵活性并避免与其他事件处理程序发生冲突。不幸的是,这在 IE≤8 中不起作用,但它很容易填充。 (2认同)