关于H5移动端页面的上拉加载更多的原生实现

我们知道在移动端的分页处理 都是上拉加载更多;这样的交互更加的友好;下面来简单的讲讲 实现的原理:

这个原理很简单 ;就是页面到达最底部了,那么就去执行请求数据加载,把新得到的数据加载到分页里去;

我们怎么来判断是否到底部了呢?

观察右边的滚动条 :   滚动条的高度(等于浏览器窗口的高度)+他的上下留白 ===页面的总高;

而页面到底的状态是滚动条的高度(等于浏览器窗口的高度)+滚动条到顶部的距离===页面的总高度;

如果 一旦等于或者大于那么我们就知道页面到底了,该执行加载动作了;代码的实现就是(这边就不写兼容写法了,只阐述原理):

1,得到滚动条到顶部的距离

 scrollTop = document.body.scrollTop;


2,得到 滚动条的高度(等于浏览器窗口的高度)

 clientHeight =document.body.clientHeight


3,得到页面的高度

 pageHeight=document.body.scrollHeight


那么 他们在

scrollTop+clientHeight>=pageHeight

的时候就说明到达页面的底部了 这个时候就应该去触发加载事件了,但是这个时候又需要滚动事件去触发;所以

window.scroll=function(){

if( scrollTop+clientHeight>=pageHeight){  

       //这个位置去加载更多的数据;或者进一步判断是否有分页可以加载;

}

}

以上就是关于 移动端上拉加载更多的基本原理;可以在这个基础上继续添加新的元素是功能看起来更加的饱满




  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值