js之jquery判断页面滚动到底部

有时候我们需要页面滚动到底部的时候去加载更多的数据,实现思路基本上就是判断浏览器页面是否滚动到了页面底部,当滚动到页面底部的时候,用AJAX异步获取数据然后加载到页面中。

利用jQuery判断浏览器页面是否滑动到了底部:

基础:

<script type="text/javascript">
    // scroll event
    $(window).scroll(function(){
        // scroll at bottom
        if ($(window).scrollTop() + $(window).height() == $(document).height()) {
            // load data
        }
    });
</script>

$(window).scroll():方法用于监听滚动条的滚动
$(window).scrollTop() :用于计算窗口相对于滚动条顶部的偏移, $(window).height()$(document).height() 分别表示当面窗口的高度和文档的高度。
注意:在页面前面加上<!DOCTYPE html>要不然谷歌浏览器$(window).height()==$(document).height()

进阶:

这里设置isBottom的原因是为了防止滚动到底部多次触发事件问题

var lastIndex=0;
 var isBottom=true;//触发开关,防止多次调用事件 
    $(window).scroll(function(){
     if (e.currentTarget.scrollTop >= lastIndex) {//只有向下滑动的时候才执行.0d`sd1lastIndex = e.currentTarget.scrollTop;
        // scroll at bottom
       //当内容滚动到底部时加载新的内容 10当距离最底部10个像素时开始加载.  
          if ($(window).scrollTop() + $(window).height() +10>= $(document).height()) {
            // load data
            if(isBottom){
              isBottom=false;

              console.log(isBottom);
              setTimeout(function(){
                isBottom=true;
               
              },5000);
            }
}
        }
    });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,969评论 1 45
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 8,862评论 1 11
  • 写在前面: Window和document对象的区别 window对象表示浏览器中打开的窗口 window对象是可...
    给堕落一个理由先阅读 3,947评论 0 3
  • 今天早上起来,本来计划继续书写我的学术论文。终极现实和与痛苦共存这些词汇突然出现在我的意识之中。 英国精神分析师比...
    Kenney_Zhang阅读 4,088评论 2 3