1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > jQuery判断滚动条滚到页面底部脚本

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

时间:2020-01-27 16:30:51

相关推荐

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

web前端|js教程

jQuery,底部,页面

web前端-js教程

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

最好源码论坛,vscode中文文件,ubuntu 编程命令,Tomcat的测试端口,sqlite2查看器,为什么窗户上会爬虫子呢,php统计uv,湛江seo推广价格费用,遍历网站图片,登陆失败页面模板lzw

例子,判断到底部

.net项目源码网站,Ubuntu磁盘管理在哪,tomcat6升级9,易语言爬虫代码,php格式如何快速转mp4,seo过去未来lzw

代码如下

易语言端口映射源码,vscode百度翻译插件,ubuntu 安装手册,更改tomcat标签图标,爬虫看电视,苹果电脑安装php,什么样的模板利于seo,html网站编辑器lzw

$(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 =0.95){ //到达底部100px时,加载新内容 // 这里加载数据.. }});}

js的判断

判断垂直滚动条是否到达底部

廓清了以上的概念,编码其实就比较简单了, 以下是示例代码:

代码如下

下拉滚动条滚到底部了吗?$(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("滚动条到底部了");});});

IE 和 FF 下测试通过

代码解说:

内部div高度为750,外部div高度为500,所以垂直滚动条需要滚动750-500=250的距离,就会到达底部,参见语句nScrollTop + nDivHight >= nScrollHight。

程序中,在外部div的scroll(滚动)事件中侦测和执行if判断语句,是非常消耗CPU资源的。用鼠标拖拉滚动条,只要有一个像素的变动就会触发该事件。但点击滚动条两头的箭头,事件触发的频率会低得多。所以滚动条的scroll事件要谨慎使用。

本示例判断的是没有水平滚动条的情况,在有水平滚动条时,情况会有细小的变化,所以nScrollTop + nDivHight >= nScrollHight语句中,需要用“>=”比较运算符,而没有水平滚动条的时候,等号“=”就足够了。大家可以实际测试一下。还可以判断水平滚动条是否滚动到头了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。