JS判断滚动条到底部懒加载
来源:互联网 发布:各国平均寿命 知乎 编辑:程序博客网 时间:2024/06/05 07:46
判断滚动条到底部,需要用到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判断滚动条是否到底部
- JS 判断滚动条到底部的JS代码
- Jquery判断滚动条到底部分页加载数据
- JS如何判断滚动条是否滚到底部
- JS如何判断滚动条是否滚到底部
- JS如何判断滚动条是否滚到底部
- 判断滚动条到底部的JS代码
- 001 - JS 如何判断滚动条是否滚到底部
- 判断滚动条到底部的JS代码
- js判断滚动条是否滚到底部
- 判断滚动条到底部的JS代码
- JS如何判断滚动条是否滚到底部
- JS滚动条到网页底部自动加载更多内容
- 滚动条循环,判断滚动条滚动到底部
- jq判断滚动条到页面底部
- 判断滚动条到底部的方法
- springMVC对静态资源访问的处理
- 查看Android应用包名、Activity的几个方法
- Java内存管理原理及内存区域详解
- 安装oracle11g 遇到INS-13001环境不满足最低要求 解决方法
- 浅谈内核的Makefile、Kconfig和.config文件
- JS判断滚动条到底部懒加载
- Java调用weka代码
- Python3学习(16)--匿名函数lambda
- 复选框选取表格一行的值
- js中的延迟执行和定时执行
- Python基本知识
- python tuple
- PHP中this语句的用法
- CSS中position属性 (absolute,relative,static,fixed)