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 24 jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
jQuery实现滚动效果
Nov 17 jQuery
[原创]jquery判断元素内容是否为空的方法
May 04 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
jQuery实现图片随机切换、抽奖功能(实例代码)
Oct 23 jQuery
jQuery实现简单评论区功能
Oct 26 jQuery
jquery实现广告上下滚动效果
Mar 04 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
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
Zend Framework动作助手Redirector用法实例详解
2016/03/05 PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
2017/10/26 PHP
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
js网页版计算器的简单实现
2013/07/02 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
解决jQuery上传插件Uploadify出现Http Error 302错误的方法
2015/12/18 Javascript
jQuery bt气泡实现悬停显示及移开隐藏功能的方法
2016/07/12 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
JS扩展String.prototype.format字符串拼接的功能
2018/03/09 Javascript
深入浅析nuxt.js基于ssh的vue通用框架
2019/05/21 Javascript
python使用正则表达式提取网页URL的方法
2015/05/26 Python
Python实现控制台输入密码的方法
2015/05/29 Python
python采集百度百科的方法
2015/06/05 Python
Python 迭代器与生成器实例详解
2017/05/18 Python
python网络爬虫学习笔记(1)
2018/04/09 Python
python 日期操作类代码
2018/05/05 Python
Windows下安装Scrapy
2018/10/17 Python
python:接口间数据传递与调用方法
2018/12/17 Python
django主动抛出403异常的方法详解
2019/01/04 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
使用python模拟高斯分布例子
2019/12/09 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
Python常用断言函数实例汇总
2020/11/30 Python
浅析python连接数据库的重要事项
2021/02/22 Python
HTML5中Canvas与SVG的画图原理比较
2013/01/16 HTML / CSS
Foot Locker澳洲官网:美国运动服和鞋类零售商
2019/10/11 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
师范生教师实习自我鉴定
2013/09/27 职场文书
献爱心标语
2014/06/21 职场文书
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android
windows10 家庭版下FTP服务器搭建教程
2022/08/05 Servers