我有4个不同的课程,比方说.go1,.go2,.go3和.go4。
例如:
span
transition: all .25s ease-in-out
span.go1
transform: translate(44px, 39px);
span.go2
transform: translate(60px, 71px);
我想通过更改类来设置span元素的动画,我可以使用setInterval来完成此操作,但我想知道它是否可以/应该通过使用requestAnimationFrame来完成,以及如何在这种情况下使用它。
答案 0 :(得分:2)
可以/应该使用requestAnimationFrame
来完成
不,requestAnimationFrame
在这种情况下不是一个好的选择。
rAF将尝试更新每个屏幕vblank(当你像这样使用它时会尝试更新下一个vblank),这对于更改元素上的类来说太快了。它看起来非常讨厌......过渡将花费x时间来完成并调用rAF,而这种情况发生时毫无意义,因为它必须等到转换结束。
使用css3查看动画和键:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_animations
以及与此相关的评论事件(webkit的transitionend
或webkitTransitionEnd
),允许您在触发事件时触发下一次转换。