据我所知requestAnimationFrame
旨在处理Javascript动画并以某种方式替换间隔或超时的使用。
It just happens to be necessary以便在使用Chrome的最新版本时处理CSS3动画,因为它似乎是a bug in Chrome > v.43 。
必须使用requestAnimationFrame
会在程序异步运行时中断程序的同步。因此,以下代码之类的东西将不再有意义:
var flag = false;
createCssAnimation();
flag = true; //executed before the previous function call
注意requestAnimFrame
函数中的标志值是否有错误。
这是一个非常简单的示例,但它显示了在添加异步函数requestAnimFrame
时如何处理标志会变得有点乏味。
为了使前一部分代码能够正常工作,这就是我现在正在做的事情:
var flag;
requestAnimFrame(function(){
flag = false;
});
createCssAnimation();
requestAnimFrame(function(){
flag = true;
});
还有其他更好的方法吗? 当在不同级别调用函数时,这看起来不是最佳解决方案。