刚刚发现requestAnimationFrame
,我已经深入研究了所有我能找到的关于它的信息。仅举几个我遇到的资源,以防其他人在寻找有关它的更多信息:
- http://creativejs.com/resources/requestanimationframe/ - 解释有关它的基础知识。
- http://www.html5rocks.com/en/tutorials/speed/animations/ - 解释如何使用它。
无论如何,所有这些资源都告诉我一些关于它是如何requestAnimationFrame
工作的或者它可以/应该如何使用的信息,但是它们都没有告诉我什么时候使用它是正确的。
- 我应该将它用于动画吗(重复更改元素的样式,就像 CSS 动画一样)?
- 当自动化事件想要更改一个或多个元素的 css/类时,我应该使用它吗?
- 当自动化事件想要更改一个或多个元素的文本值时,我应该使用它吗?(例如每秒更新一次时钟的值)
- 当自动化事件想要修改 DOM 时,我应该使用它吗?
- 当自动事件需要 .offsetTop、.offsetLeft 之类的值,然后想要更改诸如 top 和 left 几行之类的样式时,我应该使用它吗?
- 当用户生成的事件导致上述任何更改时,我应该使用它吗?
TL;DR:什么时候使用 requestAnimationFrame 合适?