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 为Combo,Combobox添加清除值功能的实例
Apr 13 jQuery
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
jquery DataTable实现前后台动态分页
Jun 17 jQuery
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 jQuery
jquery登录的异步验证操作示例
May 09 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 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数据库开发知多少
2006/10/09 PHP
19个Android常用工具类汇总
2014/12/30 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
Laravel 5.3 学习笔记之 配置
2016/08/28 PHP
js left,right,mid函数
2008/06/10 Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
2009/12/24 Javascript
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
js+css实现增加表单可用性之提示文字
2013/06/03 Javascript
js简易namespace管理器 实例代码
2013/06/21 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
Javascript中的 “&” 和 “|” 详解
2017/02/02 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
Nodejs中使用phantom将html转为pdf或图片格式的方法
2017/09/18 NodeJs
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
vue 插件的方法代码详解
2019/06/06 Javascript
vue 父组件通过$refs获取子组件的值和方法详解
2019/11/07 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
通过Pandas读取大文件的实例
2018/06/07 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
Pyqt5实现英文学习词典
2019/06/24 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
亿阳信通股份有限公司C#笔试题
2016/12/06 面试题
九州传奇上机题
2014/07/10 面试题
总经理秘书岗位职责
2014/03/17 职场文书
关于美容院的活动方案
2014/08/14 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
高二语文教学反思
2016/02/16 职场文书
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫