html5横向滚动(解决HTML5中滚动到底部的事件问题)
类别:Web前端 浏览量:314
时间:2021-10-02 01:33:19 html5横向滚动
解决HTML5中滚动到底部的事件问题问题:在H5中,我们有这样的需求:例如有列表的时候,滚动到底部时,需要加载更多。
解决方案:可以采用window的滚动事件进行处理
分析:如果滚动是针对整个屏幕而言的(不针对于某个界面小块),那么这个应该是是成立的:屏幕的高度+最大滚动的距离 = 内容的高度
代码实现:
<html> <head> <meta charset="UTF-8"> <title>监听滚动到底部滚动底部</title> <style> .li2{ width:100px; height:100px; border:1px solid red } *{ margin:0 } .button1:active{ background:red } body{ height:375px; width:667px; border:1px solid red } .li1{ height:600px; width:100%; background:red } .li2{ height:600px; width:100%; background:green } .li3{ height:600px; width:100%; background:blue } .li4{ height:600px; width:100%; background:yellow } </style> </head> <body > <li class="li0"> <li class="li1"></li> <li class="li2"></li> <li class="li3"></li> <li class="li4"></li> <li class="li5"></li> </li> </body> <script> window.onload = function(){ //获取容器父元素 var li0 = document.getElementsByClassName('li0')[0]; //height 计算属性的高度 var height = parseInt((window.getComputedStyle(li0, null).height).replace('px', '')); console.log(height,"li0的计算高度") window.onscroll = function(){ /* scrollTop 为滚动条顶端距离界面右上角的距离,这里采用了兼容性写法 */ let scrollTop = document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop; //+-5是为了保证一定的弹性,并非要刚好相等才出发, if(height-5<=scrollTop+clientHeight&&scrollTop+clientHeight<=height+5){ console.log('监听成功','到达底部') } } } </script> </html>
代码的相关说明:很多时候,列表加载,我们不能够把装载子元素的父容器高度设死,此时采用style设置为auto时,element.style.height
也会等于auto ,建议采用clientHeight
或者利用计算样式 getComputedStyle
计算高度
总结
以上所述是小编给大家介绍的解决HTML5中滚动到底部的事件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
您可能感兴趣
- html5基本标签详解(详解HTML5布局和HTML5标签)
- css弹出遮罩层页面不可滑动(Html5页面点击遮罩层背景关闭遮罩层)
- html5的canvas图形绘制技术(详解HTML5 Canvas标签及基本使用)
- 微信html隐藏功能(使用Html5多媒体实现微信语音功能)
- 用于播放视频文件的html5元素(html5自动播放mov格式视频的实例代码)
- 微信小程序canvas缩放(微信小程序之html5 canvas绘图并保存到系统相册)
- html5能取数据库吗(HTML5 客户端数据库简易使用:IndexedDB)
- html5功能讲解(Html5定位终极解决方案)
- html5标签怎么做(html5用video标签流式加载的实现)
- html5清除浮动的方法(HTML5实现移动端点击翻牌功能)
- 用html5做一个音乐的播放器(HTML5自定义mp3播放器源码)
- html5做app流程(Html5嵌入钉钉的实现示例)
- html5播放视频的元素(HTML5在手机端实现视频全屏展示方法)
- vscode快速生成html框架(VSCode 自定义html5模板的实现)
- html5导入图片文件(HTML5 实现图片上传预处理功能)
- html5socket源码(五分钟学会HTML5的WebSocket协议)
- 中国有几个名族(中国有几个民族没列入56个民族)
- 数学语文题目(语文的数学题)
- 香蕉(香蕉三种人不宜吃)
- 没钱可以快乐吗(没钱也能快乐吗)
- 快乐是什么(快乐就是)
- 东南亚有哪个国家(东南亚有哪个国家最发达)
热门推荐
- Visual Studio 调试方法
- mysql快速添加百万条记录(Mysql快速插入千万条数据的实战教程)
- mysql剩余表空间大小(MySQL 表空间碎片的概念及相关问题解决)
- 微信小程序中的代码怎么编辑(微信小程序新手入门之自定义组件的使用)
- SqlServer中如何解决session阻塞问题(SqlServer中如何解决session阻塞问题)
- dedecms兼容模式(DedeCMS 验证码不正确的解决方法php配置问题)
- springboot docker 部署(详解docker部署SpringBoot及替换jar包的方法)
- django 获取请求参数(深入理解Django-Signals信号量)
- 海外云服务器租用要怎么选择?(海外云服务器租用要怎么选择?)
- C#中hashtable 的使用方法