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之验证框validatebox实例详解
Apr 10 jQuery
jQuery tip提示插件(实例分享)
Apr 28 jQuery
最常用的jQuery表单验证(简单)
May 23 jQuery
基于jquery.page.js实现分页效果
Jan 01 jQuery
jQuery插件jsonview展示json数据
May 26 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
jquery.pagination.js分页使用教程
Oct 23 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
May 12 jQuery
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
May 19 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jQuery实现动态向上滚动
Dec 21 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的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
jsonp原理及使用
2013/10/28 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
jquery checkbox的相关操作总结
2016/10/17 Javascript
js for循环倒序输出数组元素的实例
2017/03/01 Javascript
AngularJS $http模块POST请求实现
2017/04/08 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
extjs图形绘制之饼图实现方法分析
2020/03/06 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
TensorFlow深度学习之卷积神经网络CNN
2018/03/09 Python
Python Unittest自动化单元测试框架详解
2018/04/04 Python
python 实现生成均匀分布的点
2019/12/05 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
东方电视购物:东方CJ
2016/10/12 全球购物
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
日本订房网站,预订日本星级酒店/温泉旅馆:Relux(支持中文)
2020/01/03 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
委托公证书样本
2015/01/23 职场文书
党支部书记岗位职责
2015/02/15 职场文书
百家讲坛观后感
2015/06/12 职场文书
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技
SQL Server使用T-SQL语句批处理
2022/05/20 SQL Server
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS