JS如何判断滚动条是否滚到底部
来源:互联网 发布:常用的音频编辑软件 编辑:程序博客网 时间:2024/05/17 09:39
判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。
scrollTop为滚动条在Y轴上的滚动距离。
clientHeight为内容可视区域的高度。
scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。
从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。
代码如下(兼容不同的浏览器)。 //滚动条在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; if(document.compatMode == "CSS1Compat"){ windowHeight = document.documentElement.clientHeight; }else{ windowHeight = document.body.clientHeight; } return windowHeight;}window.onscroll = function(){ if(getScrollTop() + getWindowHeight() == getScrollHeight()){ alert("已经到最底部了!!"); }};
如果用jquery来实现的话就更简单了,
$(window).scroll(function(){ var scrollTop = $(this).scrollTop(); var scrollHeight = $(document).height(); var windowHeight = $(this).height(); if(scrollTop + windowHeight == scrollHeight){ alert("已经到最底部了!"); }});
如果要判断在某一个元素中的滚动条是否到底部,根据类似的思想,将document.body换成特定的元素即可,获取scrollTop和scrollHeight的方式是一样的,但是获取元素可见高度需要用到offsetHeight属性,直接依葫芦画瓢即可
转自
0 0
- JS如何判断滚动条是否滚到底部
- JS如何判断滚动条是否滚到底部
- JS如何判断滚动条是否滚到底部
- 001 - JS 如何判断滚动条是否滚到底部
- JS如何判断滚动条是否滚到底部
- js判断滚动条是否滚到底部
- js判断滚动条是否到底部
- js 判断滚动条滚动到底部
- 判断滚动条是否到底部
- js 判断滚动条是否到达底部
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- jquery判断页面滚动条(scroll)是上滚还是下滚,且是否滚动到头部或者底部
- RecyclerView如何判断是否滚动到底部
- jquery 判断div滚动条是否滚动到底部
- js判断滚动条是否已到页面最底部或顶部实例
- JS 判断滚动条到底部的JS代码
- js判断滚动条是否已到页面最底部或顶部实例-拓展(逐渐-自动下滑滚动)
- Jquery Validate 正则表达式实用验证代码大全
- SPOJ694&&SPOJ705:Distinct Substrings(后缀数组)
- HTML5学习之FileReader接口
- SAT填空解题题干规律
- Android JNI入门--jni头文件分析
- JS如何判断滚动条是否滚到底部
- svn 版本管理 相关
- 个人IOS技能树
- java设计模式:工厂模式
- kiki's game - HDU 2147 博弈论
- C#获取远程FTP文件列表
- 程序员都应学习代码编译器知识
- 第十三周项目1(1)-动物这样叫
- C#数据结构回顾之链栈