解决HTML5中滚动到底部的事件问题


Posted in HTML / CSS onAugust 22, 2019

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

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

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

代码实现:

 

<html> 
    <head> 
    <meta charset="UTF-8">
        <title>监听滚动到底部滚动底部</title> 
        <style> 
.div2{
width:100px;
height:100px;
border:1px solid red
}
*{
margin:0
}
.button1:active{
   background:red
}
body{
height:375px;
width:667px;
border:1px solid red
}
.div1{
height:600px;
width:100%;
background:red
}
.div2{
height:600px;
width:100%;
background:green
}
.div3{
height:600px;
width:100%;
background:blue
}
.div4{
height:600px;
width:100%;
background:yellow
}
        </style> 
    </head> 
    <body > 
    <div class="div0">
    <div class="div1"></div>
    <div class="div2"></div>
    <div class="div3"></div>
    <div class="div4"></div>
    <div class="div5"></div>
    </div>
    </body> 
    <script>
    window.onload = function(){
  //获取容器父元素
    var div0 = document.getElementsByClassName('div0')[0];
    //height 计算属性的高度
    var height = parseInt((window.getComputedStyle(div0, null).height).replace('px', ''));
    console.log(height,"div0的计算高度")
    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中滚动到底部的事件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

HTML / CSS 相关文章推荐
css3截图_动力节点Java学院整理
Jul 11 HTML / CSS
纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)
Jan 07 HTML / CSS
纯css3实现的鼠标悬停动画按钮
Dec 23 HTML / CSS
CSS3实现缺角矩形,折角矩形以及缺角边框
Dec 20 HTML / CSS
从一次项目重构说起CSS3自定义变量在项目的使用方法
Mar 01 HTML / CSS
canvas粒子动画背景的实现示例
Sep 03 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 HTML / CSS
canvas使用注意点总结
Jul 19 HTML / CSS
使用canvas绘制超炫时钟
Dec 17 HTML / CSS
HTML5 HTMLCollection和NodeList的区别详解
Apr 29 HTML / CSS
CSS3中Animation实现简单的手指点击动画的示例
Jul 15 HTML / CSS
CSS 实现磨砂玻璃(毛玻璃)效果样式
May 21 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
Aug 20 #HTML / CSS
html5 canvas实现给图片添加平铺水印
Aug 20 #HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
Aug 16 #HTML / CSS
HTML5自定义属性的问题分析
Aug 16 #HTML / CSS
HTML5实现视频弹幕功能
Aug 09 #HTML / CSS
Canvas高级路径操作之拖拽对象的实现
Aug 05 #HTML / CSS
Canvas多边形绘制的实现方法
Aug 05 #HTML / CSS
You might like
Terran兵种对照表
2020/03/14 星际争霸
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
PHP 命令行参数详解及应用
2011/05/18 PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
2015/07/31 PHP
js下用层来实现select的title提示属性
2010/02/23 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
jquery实现select选中行、列合计示例
2014/04/25 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
js简单抽奖代码
2015/01/16 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
通过jquery实现页面的动画效果(实例代码)
2016/09/18 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
javascript html5轻松实现拖动功能
2017/03/01 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
Python and、or以及and-or语法总结
2015/04/14 Python
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python做文本按行去重的实现方法
2016/10/19 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
docker django无法访问redis容器的解决方法
2019/08/21 Python
Python如何输出整数
2020/06/07 Python
css3 transform属性详解
2014/09/30 HTML / CSS
护理专科毕业自荐信范文
2014/04/21 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
Springboot集成kafka高级应用实战分享
2022/08/14 Java/Android