[Java教程]jquery如何判断滚动条滚到页面底部并执行事件

0 2016-04-27 10:00:13

本文章向码农介绍jquery如何判断滚动条滚到页面底部并执行事件。首先理解三个dom元素,分别是:clientHeight、offsetHeight、scrollTop。

首先理解三个dom元素,分别是:clientHeight、offsetHeight、scrollTop。

clientHeight:这个元素的高度,占用整个空间的高度,所以,如果一个div有滚动条,那个这个高度则是不包括滚动条没显示出来的下面部分的内容。而只是单纯的DIV的高度。

offsetHeight:是指元素内容的高度。依照上面的,那这个高度呢就是DIV内部的高度,包括可见部分及以滚动条下面的不可见部分。

scrollTop:这个是什么呢?他可以理解为滚动条可以滚动的长度。

举例,如果一个DIV高度是400px(即clientHeight为400),而里面的内容是一个很长的列表,内容的高度是1000px(即offsetHeight为1000)。那么,可见部分我们看到400px,1000px的内容中还有600px不可见。而这不可见的部分呢,正是我们通过拉动滚动条才能把这一部分显示出来。你如果滚动条不拉动,此时scrollTop为0,如果你把滚动条拉到底,显示出列表最下面的部分,此时,scrollTop为600。 所以scrollTop的取值区间为[0, 600]。 所以这个600可以理解为滚动条可以滚动的长度。

理解完上面的这个概念之后。要判断是否滚动到底部就很好做了。

首先,我们拉动滚动条,从最上面拉到最下面,变化的是scrollTop的值,而这个值是有一个区间的。

这个区间是: [0, (offsetHeight - clientHeight)]

即,滚动条拉动的整个过程的变化在 0 到 (offsetHeight – clientHeight) 范围之内。

1、判断滚动条滚动到最底端: scrollTop == (offsetHeight – clientHeight)

2、在滚动条距离底端50px以内: (offsetHeight – clientHeight) – scrollTop <= 50

3、在滚动条距离底端5%以内: scrollTop / (offsetHeight – clientHeight) >= 0.95

如上。

如果要实现拉到底部自动加载内容。只要注册个滚动条事件:scrollBottomTest =function(){ $("#contain").scroll(function(){ var $this =$(this), viewH =$(this).height(),//可见高度 contentH =$(this).get(0).scrollHeight,//内容高度 scrollTop =$(this).scrollTop();//滚动高度 //if(contentH - viewH - scrollTop <= 100) { //到达底部100px时,加载新内容 if(scrollTop/(contentH -viewH)>=0.95){ //到达底部100px时,加载新内容 // 这里加载数据.. } });}

java 滚动条的事件_[Java教程]jquery如何判断滚动条滚到页面底部并执行事件相关推荐

  1. js实现判断滚动条滚到页面底部并执行事件的方法

    这里我主要介绍JS实现判断滚动条滚到页面底部并执行事件的方法: 需要了解三个dom元素,分别是:clientHeight.offsetHeight.scrollTop. clientHeight:这个 ...

  2. java中判断复选框是否被选中_[Java教程]jquery如何判断checkbox(复选框)是否被选中...

    [Java教程]jquery如何判断checkbox(复选框)是否被选中 0 2013-08-15 18:00:14 谁都知道 在html 如果一个复选框被选中 是 checked="che ...

  3. C语言界面列表的滑动效果,jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)...

    本文实例讲述了jQuery+ajax实现滚动到页面底部自动加载图文列表效果.分享给大家供大家参考,具体如下: /p> "http://www.w3.org/TR/xhtml1/DTD/ ...

  4. java弹窗点击事件_[Java教程]jQuery的click事件在当前页弹出层窗口(不打开新页面)...

    [Java教程]jQuery的click事件在当前页弹出层窗口(不打开新页面) 0 2015-10-24 15:00:04 当给链接添加一个click事件,我们可能不希望Web浏览器按照其常规模式退出 ...

  5. java设置滚动条的样式_[Java教程]美化浏览器滚动条效果

    [Java教程]美化浏览器滚动条效果 0 2016-10-31 16:02:28 任务需求:由于不同浏览器对滚动条的样式解析存在差异,为统一样式风格,增加整体美观程度,需要实现自定义滚动条. 第一种方 ...

  6. java滚动条下拉_[Java教程]相对漂亮的滚动条slimscroll可以实现下拉加载

    [Java教程]相对漂亮的滚动条slimscroll可以实现下拉加载 0 2016-03-23 16:00:05 在之前的开发中遇到过下拉加载想要漂亮点的滚动条,但是最初引入的mCustomScrol ...

  7. java 内存泄露 书籍_[Java教程]一次艰难的内存泄露排查,BeanUtils 的锅

    [Java教程]一次艰难的内存泄露排查,BeanUtils 的锅 0 2020-10-29 18:24:42 现象 通过jstat -gcutil pid 5000 ,发现fgc次数很多而且频繁,此时 ...

  8. java privatekey输出字符串_[Java教程]根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象_星空网...

    根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象 2012-05-29 0 1.字符串生成公钥对象 PublicKey /** * 实例化公钥 * * @re ...

  9. canvas java 上传截图_在Vue项目中使用html2canvas生成页面截图并上传

    使用方法 项目中引入 npm install html2canvas html代码 //html代码 js代码 // 引入html2canvas import html2canvas from 'ht ...

最新文章

  1. 指针数组(主要用于二维的数组)
  2. 学习响应式BootStrap来写融职教育网站,Bootsrtap第十四天,PK模块的开发
  3. python3爬虫学习笔记
  4. windows:(1)xmind常用快捷键
  5. SQL中CONVERT函数全部用法对日期操作
  6. 【基础】深入浅出神经网络基础
  7. 结巴分词python教程_python结巴教程【python3怎么使用结巴分词】
  8. 计算机游戏制作的要求,游戏设计美工需要什么样的电脑配置
  9. win10设置HTML桌面背景,win10系统怎么更换桌面壁纸?windows10更换桌面壁纸的方法...
  10. C# 操作word之在表格中插入新行、删除指定行
  11. 行人重识别实验笔记3-JDAI fast-reid项目配置
  12. ppt加载html5,当PPT遇见H5,这才是真爱!
  13. 一个简单帆软报表制作基础步骤
  14. lua的演进 lua的历史
  15. python——正则表达式详解(二)
  16. Toy例程导读(三).高级语言分析和转换
  17. 视频去水印哪个好用-视频去水印软件app
  18. 原生js省市区三级联动
  19. Libor利率查询_图表加数据Libor伦敦银行同业拆借利率
  20. Failed connect to github-production-release-asset-2e65be.s3.amazonaws.com:443问题

热门文章

  1. 【招行】软件开发工程师实习生面试
  2. C#中yield return用法分析
  3. Wampserver安装提示没有找到 msvcp120.dll mysql.exe
  4. 【软件测试】测试人的我们,咋做一个如鱼得水的测试员?
  5. php中socket的使用,php中socket的用法详解,phpsocket详解_PHP教程
  6. 【读书笔记】被讨厌的勇气之权利之争
  7. innerHTML和innerText属性
  8. Mysql——索引底层数据结构与Explain用法
  9. android motionevent 坐标,Android MotionEvent中getX()和getRawX()的区别
  10. 基于SSM网上二手书城