最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jQuery判断滚动条滚到页面底部脚本

来源:动视网 责编:小采 时间:2020-11-27 20:17:52
文档

jQuery判断滚动条滚到页面底部脚本

jQuery判断滚动条滚到页面底部脚本:其实很简单我们只要使用到clientHeight、offsetHeight、scrollTop这三个参数就可以判断我们当前位置了,具体来给大家介绍一个例子。例子,判断到底部代码如下 $(window).scroll(function () { if ($(document).scrollTop() +
推荐度:
导读jQuery判断滚动条滚到页面底部脚本:其实很简单我们只要使用到clientHeight、offsetHeight、scrollTop这三个参数就可以判断我们当前位置了,具体来给大家介绍一个例子。例子,判断到底部代码如下 $(window).scroll(function () { if ($(document).scrollTop() +


其实很简单我们只要使用到clientHeight、offsetHeight、scrollTop这三个参数就可以判断我们当前位置了,具体来给大家介绍一个例子。

例子,判断到底部

代码如下

$(window).scroll(function () {
 if ($(document).scrollTop() + $(window).height() >= $(document).height()) {
 alert("哦哦,到底了.");
 }
});

如果要实现拉到底部自动加载内容。只要注册个滚动条事件:

首先,我们拉动滚动条,从最上面拉到最下面,变化的是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时,加载新内容
 // 这里加载数据..
 }
 });
}

js的判断

判断垂直滚动条是否到达底部
廓清了以上的概念,编码其实就比较简单了, 以下是示例代码:

代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="content-type" content="text/html;charset=utf-8">
 <title>下拉滚动条滚到底部了吗?</title>
 <script language="javascript" src="jquery-1.4.2.min.js"></script>
 <script language="javascript">
 $(document).ready(function (){
 var nScrollHight = 0; //滚动距离总长(注意不是滚动条的长度)
 var nScrollTop = 0; //滚动到的当前位置
 var nDivHight = $("#div1").height();
 $("#div1").scroll(function(){
 nScrollHight = $(this)[0].scrollHeight;
 nScrollTop = $(this)[0].scrollTop;
 if(nScrollTop + nDivHight >= nScrollHight)
 alert("滚动条到底部了");
 });
 });
 </script>
 <body>
 <div id="div1" style="overflow-y:auto; overflow-x:hidden; height:500px;">
 <div style="background-color:#ccc; height:750px;">IE 和 FF 下测试通过</div>
 </div>
 </body>
 </html>

代码解说:

内部div高度为750,外部div高度为500,所以垂直滚动条需要滚动750-500=250的距离,就会到达底部,参见语句nScrollTop + nDivHight >= nScrollHight。
程序中,在外部div的scroll(滚动)事件中侦测和执行if判断语句,是非常消耗CPU资源的。用鼠标拖拉滚动条,只要有一个像素的变动就会触发该事件。但点击滚动条两头的箭头,事件触发的频率会低得多。所以滚动条的scroll事件要谨慎使用。
本示例判断的是没有水平滚动条的情况,在有水平滚动条时,情况会有细小的变化,所以nScrollTop + nDivHight >= nScrollHight语句中,需要用“>=”比较运算符,而没有水平滚动条的时候,等号“=”就足够了。大家可以实际测试一下。还可以判断水平滚动条是否滚动到头了。

文档

jQuery判断滚动条滚到页面底部脚本

jQuery判断滚动条滚到页面底部脚本:其实很简单我们只要使用到clientHeight、offsetHeight、scrollTop这三个参数就可以判断我们当前位置了,具体来给大家介绍一个例子。例子,判断到底部代码如下 $(window).scroll(function () { if ($(document).scrollTop() +
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top