How does double requestAnimationFrame work?

一个人想着一个人 提交于 2019-12-04 15:57:18

问题


While watching Google IO17, I learnt about the double requestAnimationFrame method but i can't really wrap my head around it maybe because i hardly involve myself in animation on the web.

However, i think it would nice to know how it works and when to double things up as in the case of Twitter's tab example laid out by Addy Osmani. Thanks!


回答1:


Because of the bug introduced in Chrome and some others, we have to use double requestAnimationFrame whenever we find ourselves toggling classes or performing other CSS animations that requires RAF to fire after an action is performed. It's kinda like an escape hatch to have nice/smooth animation.




回答2:


I saw this mentioned in a Google I/O talk, too (by Owen Campbell-Moore). Here's the link to the video of that talk (in case it's different than the talk you watched:

"Creating UX that 'just feels right' with Progressive Web Apps" https://youtu.be/mmq-KVeO-uU

I did a little digging and found this explanation by Owen in a post on Medium:

"One weird trick to performant touch-response animations with React" https://medium.com/@owencm/one-weird-trick-to-performant-touch-response-animations-with-react-9fe4a0838116

The article also points to a short follow-on discussion about whether/why the need for the "double" approach is a bug or not here:

https://medium.com/@owencm/well-there-are-definitely-issues-here-ordered-least-significant-to-most-1f0931b03024

Hope this helps...



来源:https://stackoverflow.com/questions/44145740/how-does-double-requestanimationframe-work

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!