经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » HTML5 » 查看文章
H5中滚动到底部的事件
来源:cnblogs  作者:wangnima666  时间:2019/8/23 8:45:22  对本文有异议

问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多。

解决方案:可以采用window的滚动事件进行处理

分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度

代码实现:

  1. <html> 
  2.  
  3.     <head> 
  4.  
  5.     <meta charset="UTF-8">
  6.  
  7.         <title>监听滚动到底部滚动底部</title> 
  8.  
  9.         <style> 
  10. .div2{
  11. width:100px;
  12. height:100px;
  13. border:1px solid red
  14. }
  15. *{
  16. margin:0
  17. }
  18. .button1:active{
  19.    background:red
  20. }
  21. body{
  22. height:375px;
  23. width:667px;
  24. border:1px solid red
  25. }
  26. .div1{
  27. height:600px;
  28. width:100%;
  29. background:red
  30. }
  31. .div2{
  32. height:600px;
  33. width:100%;
  34. background:green
  35. }
  36. .div3{
  37. height:600px;
  38. width:100%;
  39. background:blue
  40. }
  41. .div4{
  42. height:600px;
  43. width:100%;
  44. background:yellow
  45. }
  46.  
  47.  
  48.         </style> 
  49.  
  50.     </head> 
  51.    
  52.  
  53.         
  54.  
  55.     <body > 
  56.     <div class="div0">
  57.     <div class="div1"></div>
  58.     <div class="div2"></div>
  59.     <div class="div3"></div>
  60.     <div class="div4"></div>
  61.     <div class="div5"></div>
  62.     
  63.     
  64.     </div>
  65.  
  66.     </body> 
  67.  
  68.     <script>
  69.     window.onload = function(){
  70.   //获取容器父元素
  71.     var div0 = document.getElementsByClassName('div0')[0];
  72.     //height 计算属性的高度
  73.     var height = parseInt((window.getComputedStyle(div0, null).height).replace('px', ''));
  74.     
  75.     console.log(height,"div0的计算高度")
  76.     
  77.     window.onscroll = function(){
  78. /*
  79. scrollTop 为滚动条顶端距离界面右上角的距离,这里采用了兼容性写法
  80.  
  81. */
  82. var scrollTop = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
  83.      //+-15是为了保证一定的弹性,并非要刚好相等才出发,
  84.     if(height-5<=scrollTop+document.body.clientHeight&&scrollTop+document.body.clientHeight<=height+15){
  85.       console.log('监听成功','到达底部')
  86.     }
  87.     }
  88.     }
  89.     </script>
  90. </html>

在线运行此代码>>>>>>

代码的相关说明:很多时候,列表加载,我们不能够把装载子元素的父容器高度设死,此时采用style设置为auto时,element.style.height也会等于auto ,建议采用clientHeight或者利用计算样式 getComputedStyle计算高度

原文链接:http://www.cnblogs.com/tony-stark/p/11393892.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号