[转] 判断html页是否滚动停止

原文链接:http://www.phpernote.com/javascript-function/754.html

最近有个项目中遇到这样一个问题:

有一个用于展示数据的带滚动条的DIV块,业务需求是当滚动条滚动时,将数据库中的数据读出并展示出来。这个本身问题不大,但实际中却发现存在这样一个问题,即当数据量比较大的时候,当滚动条滚动时,会不停的向后台发出数据请求,这个在访问量达到一定规模的时候,对服务器浏览器都造成了巨大的压力。

为了解决这个问题,作者想到一个办法是当滚动条停止时,才向服务器发送请求数据。但是碰到个问题就是如何判断滚动条是否停止了呢?经过几番研究终于解决了,在这里作者和大家分享一下如何通过js判断浏览器滚动条是否停止滚动(这里的效果是兼容IE火狐浏览器)。

 1 <html xmlns="http://www.phpernote.com/javascript-function/194.html">
 2 <head>
 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 4 <title>JS判断滚动条是否停止滚动示例</title>
 5 <script type="text/javascript">
 6 var topValue=0,// 上次滚动条到顶部的距离
 7 interval=null;// 定时器
 8 window.onscroll=function(){
 9     if(interval==null)
10     interval=setInterval("test()",1000);//这里就是判定时间,当前是1秒一判定
11     topValue=document.documentElement.scrollTop;
12 }
13 
14 function test(){
15     // 判断此刻到顶部的距离是否和1秒前的距离相等
16     if(document.documentElement.scrollTop==topValue){
17         alert("滚动条停止滚动了!");
18         clearInterval(interval);
19         interval=null;
20     }
21 }
22 </script>
23 </head>
24 <body>
25 <div style="height:2000px;">http://www.phpernote.com/jquery/251.html</div>
26 </body>
27 </html>

以上可以更改定时判断的时间,时间越短,相应的越及时,用户体验效果越好,但相应的客户端浏览器的压力会越大。

转载于:https://www.cnblogs.com/chutianshu1981/p/3614227.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值