1、应用场景:
有些场景我们需要在滚动停止之后才进行操作,但uniapp所提供的只有监听页面滚动的生命周期函数onPageScroll()
,我们无法获知滚动是否结束。
2、解决方案:
在
data
中定义timer
变量,用来记录定时器状态,在滚动期间,一直清除延时事件,一旦空了N秒(N根据需求自己调整),就判定为滚动停止。
3、实现方法:
onPageScroll(e) {
console.log('开始滚动')
clearTimeout(this.timer) //这里必须要每次滚动前 清除一次
// 如果停留则表示滚动结束 一旦空了1s就判定为滚动结束
this.timer = setTimeout(() => {
console.log('结束滚动')
//在这里实现我们的操作
}, 1000)
}
原文链接:https://blog.csdn.net/weixin_45811256/article/details/126324295
网友评论