在项目中往往需要触发滚动事件去完成上拉加载更多,下拉刷新等需求。发送数据请求的过程中是异步的,导致滚动事件会触发多次,踩过几次坑之后,分享下自己的实现方法。
上拉加载更多
在监听滚动事件的时候可以在当前页面设置一个状态值的变量列如:
scrollStatus // ( 0加载中,1可以触发事件,2加载完毕 );
把scrollStatus作为一个开关只有状态值等于 1 的时候才可以触发事件,接下来就是实现。
上拉到底之后触发事件:
if(scrollStatus == 1){
scrollStatus = 0;//把开关关闭 状态值设为加载中
}
请求完毕之后 判断是不是最后一页 如果是最后一页就设置scrollStatus=2 加载完毕 反之则打开开关 设置状态 0
前端也可以根据scrollStatus状态来显示内容,列如:
scrollStatus=0 显示加载中
scrollStatus=1 到底了 最后一页
。。。。。。等等
可以利用这种思路解决很多问题 这就是做为一个基层码农的一个小分享