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实现提示语淡入效果
May 05 jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
jQuery 表单序列化实例代码
Jun 11 jQuery
jquery+css实现侧边导航栏效果
Jun 12 jQuery
jQuery实现上传图片前预览效果功能
Aug 03 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
20个最常见的jQuery面试问题及答案
May 23 jQuery
jQuery实现ajax回调函数带入参数的方法示例
Jun 26 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 jQuery
jQuery创建折叠式菜单
Jun 15 jQuery
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
JQuery使用数组遍历跳出each循环
Sep 01 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 SQL之where语句生成器
2009/03/24 PHP
从零开始学YII2框架(一)通过Composer安装Yii2框架
2014/08/20 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
Stop SQL Server
2007/06/21 Javascript
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
js select常用操作控制代码
2010/03/16 Javascript
jQuery寻找n以内完全数的方法
2015/06/24 Javascript
jQuery自动完成插件completer附源码下载
2016/01/04 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
python数据清洗系列之字符串处理详解
2017/02/12 Python
python 异或加密字符串的实例
2018/10/14 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python pip配置国内源的方法
2020/02/14 Python
python实现批量转换图片为黑白
2020/06/16 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
网吧收银员岗位职责
2013/12/14 职场文书
优秀班集体获奖感言
2014/02/03 职场文书
工作表现自我评价
2014/02/08 职场文书
教师职称自我鉴定
2014/02/12 职场文书
2015大学党建带团建工作总结
2015/07/23 职场文书
公务员爱岗敬业心得体会
2016/01/25 职场文书
CocosCreator入门教程之网络通信
2021/04/16 Javascript
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python
Python内置数据结构列表与元组示例详解
2021/08/04 Python