jQuery实现判断滚动条滚动到document底部的方法分析


Posted in jQuery onAugust 27, 2019

本文实例讲述了jQuery实现判断滚动条滚动到document底部的方法。分享给大家供大家参考,具体如下:

滚动条没有实际的高度。只是为了呈现效果才在外型上面有长度。

在js当中也没有提供滚动条的高度API。

参考了网上有关资料:判断滚动条到底部的基本逻辑是滚动条滚动的高度加上视口的高度,正好是document的高度,公式表示为

滚动条滚动的高度+浏览器视口的高度>=document的高度。

参考网上资料,具体代码如下:

//滚动条在Y轴上的滚动距离
function getScrollTop() {
    var scrollTop = 0,
      bodyScrollTop = 0,
      documentScrollTop = 0;
    //兼容谷歌
    if (document.body) {     bodyScrollTop = document.body.scrollTop;   }
    //兼容火狐
    if (document.documentElement) {     documentScrollTop = document.documentElement.scrollTop;   }
       scrollTop = (bodyScrollTop - documentScrollTop > 0) ? bodyScrollTop : documentScrollTop;
    return scrollTop;
}
//文档的总高度
function getScrollHeight() {
    var scrollHeight = 0,
      bodyScrollHeight = 0,
      documentScrollHeight = 0;
    //兼容谷歌
    if (document.body) {
      bodyScrollHeight = document.body.scrollHeight;
    }
    //兼容火狐
    if (document.documentElement) {
      documentScrollHeight = document.documentElement.scrollHeight;
    }
    scrollHeight = (bodyScrollHeight - documentScrollHeight > 0) ? bodyScrollHeight : documentScrollHeight;
    return scrollHeight;
}
//浏览器视口的高度
function getWindowHeight() {
    var windowHeight = 0;
    windowHeight = document.documentElement.clientHeight;
    return windowHeight;
}
window.onscroll = function() {
    if (getScrollTop() + getWindowHeight() == getScrollHeight()) {
      alert("you are in the bottom!");
    }
};

jquery实现代码:

$(window).scroll(function(){
  var scrollTop = $(this).scrollTop();
  var scrollHeight = $(document).height();
  var windowHeight = $(this).height();
  if(scrollTop + windowHeight == scrollHeight){
    alert("you are in the bottom");
  }
});

代码测试有效果。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
jQuery 禁止表单用户名、密码自动填充功能
Oct 30 jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
JQuery Ajax动态加载Table数据的实例讲解
Aug 09 jQuery
jQuery实现的自定义轮播图功能详解
Dec 28 jQuery
JavaScript自动生成 年月范围 选择功能完整示例【基于jQuery插件】
Sep 03 jQuery
jQuery实现form表单基于ajax无刷新提交方法实例代码
Nov 04 jQuery
jQuery中event.target和this的区别详解
Aug 13 jQuery
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 #jQuery
Jquery实现获取子元素的方法分析
Aug 24 #jQuery
jquery分页优化操作实例分析
Aug 23 #jQuery
jquery实现的分页显示功能示例
Aug 23 #jQuery
jQuery表单选择器用法详解
Aug 22 #jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 #jQuery
jquery树形插件zTree高级使用详解
Aug 16 #jQuery
You might like
php使用百度ping服务代码实例
2014/06/19 PHP
php实现的表单验证类完整示例
2019/08/13 PHP
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
js 浏览本地文件夹系统示例代码
2013/10/24 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
js实现屏幕自适应局部代码分享
2015/01/30 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
Vue中父组件向子组件通信的方法
2017/07/11 Javascript
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
微信小程序动态生成二维码的实现代码
2018/07/25 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
[01:03:27]NAVI vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
跟老齐学Python之Python文档
2014/10/10 Python
Python编程入门的一些基本知识
2015/05/13 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
python面向对象法实现图书管理系统
2019/04/19 Python
python对一个数向上取整的实例方法
2020/06/18 Python
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
如何删除一个表里面的重复行
2013/07/13 面试题
银行会计财务工作个人的自我评价
2013/10/29 职场文书
会计专业自我鉴定
2014/02/10 职场文书
餐饮营销方案
2014/02/23 职场文书
金融事务专业求职信
2014/04/25 职场文书
升旗仪式演讲稿
2014/05/08 职场文书
实习推荐信
2014/05/10 职场文书
自主招生自荐信格式
2015/03/04 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
歌剧魅影观后感
2015/06/05 职场文书
Python 正则模块详情
2021/11/02 Python
vue 给数组添加新对象并赋值
2022/04/20 Vue.js