如何通过更改css类来将requestAnimationFrame用于动画?

时间:2013-06-21 09:39:29

标签: javascript css3

我有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来完成,以及如何在这种情况下使用它。

1 个答案:

答案 0 :(得分:2)

  

可以/应该使用requestAnimationFrame

来完成

不,requestAnimationFrame在这种情况下不是一个好的选择。

rAF将尝试更新每个屏幕vblank(当你像这样使用它时会尝试更新下一个vblank),这对于更改元素上的类来说太快了。它看起来非常讨厌......过渡将花费x时间来完成并调用rAF,而这种情况发生时毫无意义,因为它必须等到转换结束。

使用css3查看动画和键:
https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_CSS_animations

以及与此相关的评论事件(webkit的transitionendwebkitTransitionEnd),允许您在触发事件时触发下一次转换。