为啥鼠标放上去在移开,waitTime就无效,单步运动会立即执行一下,而不是应该重置waitTime时间,移开后在重新计算时间
2020-10-26 15:41创建
共1个回答
OI
游客oiHIeZ
我的理解是vue-seamless-scroll
组件使用了requestAnimationFrame接口,而这个接口是这样的:
window.requestAnimationFrame()
告诉浏览器——你希望执行一个动画,并且要求浏览器在下次重绘之前调用指定的回调函数更新动画。该方法需要传入一个回调函数作为参数,该回调函数会在浏览器下一次重绘之前执行注意:若你想在浏览器下次重绘之前继续更新下一帧动画,那么回调函数自身必须再次调用
window.requestAnimationFrame()
当鼠标移开之后vue-seamless-scroll
组件会立即调用_startMove
然后调用_move
,继而调用requestAnimationFrame()
立即更新下一帧动画,然后再根据waitTime配置间隔一段时间后循环调用_move
。