随着科技的发展,移动互联网早已进入到我们的生活当中,为了给用户更好的使用体验,出现了下拉刷新和上拉加载更多数据的交互方式,出现的频率也很高.也有很多第三方开源插件,如:iScroll
、better-scroll
等,下面我们就来简单实现下拉刷新和上拉加载吧.
原理分析
首先不论是下拉还是上拉,都是一个移动端的持续动作,所以我们要监听touchstart
、touchmove
和touchend
来实现.
关于内容容器的拖动,我们可以使用css3
来实现,如果浏览器不支持css3
,则改变容器的定位来达到这样对目的,不过现在不支持 css3 的浏览器应该都没有了.
touchstart
事件
2.监听touchmove
事件,并计算移动偏移量,移动偏移量不能超过最大值,根据移动的距离来判断拉动方向,并将移动偏移量赋值给要移动对容器
3.监听touchend
事件,执行刷新或者加载更多操作,完成操作后将容器复位
代码实现
html+css
1 | <!-- css --> |
js
1 | (function () { |
最后,个人感觉上拉加载更多换成滑动到底部自动加载体验应该会更好一些.
参考文章:H5 下拉刷新和上拉加载实现原理浅析
[越努力,越幸运!]