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自定义图片上传插件实例代码
Apr 04 jQuery
jquery dataTable 获取某行数据
May 05 jQuery
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
jQuery制作全屏宽度固定高度轮播图(实例讲解)
Jul 08 jQuery
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
jQuery实现所有验证通过方可提交的表单验证
Nov 21 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
Jul 25 jQuery
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
使用JQuery自动完成插件Auto Complete详解
Jun 18 jQuery
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
jQuery带控制按钮轮播图插件
Jul 31 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中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
php服务器的系统详解
2019/10/12 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
谈谈JavaScript异步函数发展历程
2015/09/29 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
js实现常用排序算法
2016/08/09 Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
2018/02/11 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
介绍Python中的__future__模块
2015/04/27 Python
Python基于Tkinter实现的记事本实例
2015/06/17 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
pycharm远程开发项目的实现步骤
2019/01/20 Python
python TF-IDF算法实现文本关键词提取
2019/05/29 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python super函数使用方法详解
2020/02/14 Python
使用python绘制cdf的多种实现方法
2020/02/25 Python
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
法制宣传月活动总结
2014/04/29 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
捐资助学感谢信
2015/01/21 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
一个成功的互联网创业项目,必须满足这些要求
2019/08/23 职场文书
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技