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 EasyUI 结合ztrIee的后台页面开发实例
Sep 01 jQuery
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
Nov 09 jQuery
jQuery 实现左右两侧菜单添加、移除功能
Jan 02 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 jQuery
jQuery无冲突模式详解
Jan 17 jQuery
JQuery animate动画应用示例
May 14 jQuery
jQuery控制input只能输入数字和两位小数的方法
May 16 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
jQuery实现简单轮播图效果
Dec 27 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 上传文件的方法(类)
2009/07/30 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
利用进制转换压缩数字函数分享
2014/01/02 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
2016/01/04 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
vue学习笔记之v-if和v-show的区别
2017/09/20 Javascript
Vue.use源码学习小结
2018/06/20 Javascript
JavaScript引用类型Array实例分析
2018/07/24 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
python字典快速保存于读取的方法
2018/03/23 Python
Python3实现购物车功能
2018/04/18 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
Python封装原理与实现方法详解
2018/08/28 Python
python调用c++传递数组的实例
2019/02/13 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
澳大利亚手表品牌:Time IV Change
2018/10/06 全球购物
C语言变量的命名规则都有哪些
2013/12/27 面试题
设计模式的基本要素是什么
2014/04/21 面试题
教师学习培训邀请函
2014/02/04 职场文书
食品采购员岗位职责
2014/04/14 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
商业街策划方案
2014/05/31 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
超市采购员岗位职责
2015/04/07 职场文书
大学生逃课检讨书
2015/05/04 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python