我写了个跑马灯,设定的动画效果3秒,定时器3秒
我希望动画效果结束后立即执行定时器回调以达到无停顿的效果
结果每次动画结束都会有3秒的停顿。
但如果将定时器延时设定为3100ms则只会有0.1秒停顿。想知道产生的原因是什么?
代码:http://js.jirengu.com/yusojivani/1/edit?html,js,output
个人猜测是transitionend的回调把定时器内的动画取消了,那么到第三秒的时候定时器回调和事件回调哪个先执行?
我写了个跑马灯,设定的动画效果3秒,定时器3秒
我希望动画效果结束后立即执行定时器回调以达到无停顿的效果
结果每次动画结束都会有3秒的停顿。
但如果将定时器延时设定为3100ms则只会有0.1秒停顿。想知道产生的原因是什么?
代码:http://js.jirengu.com/yusojivani/1/edit?html,js,output
个人猜测是transitionend的回调把定时器内的动画取消了,那么到第三秒的时候定时器回调和事件回调哪个先执行?
let timer
scroller.on('mouseenter', (e) => {
timer = setInterval(move, 0)
})
scroller.on('mouseleave', (e) => {
clearInterval(timer)
})
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
setTimeout
即使不加时间参数,系统还是为给出一个默认值,给0也是,不是立即执行的意思试试下面代码的效果:)