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

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

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

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

代码实现:

 

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

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

总结

以上所述是小编给大家介绍的解决HTML5中滚动到底部的事件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对w3xue网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

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

本站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号