requestAnimationFrame之前的不需要的延迟?

时间:2017-06-20 21:21:07

标签: javascript css3 animation svg requestanimationframe

一个有趣的案例,其中IE实际上以我想要的方式运行:-)我通过requestAnimationFrame做了这个函数来做SVG动画(对于这个例子,我省略了值计算等等......但是我的第一个实验是为变化设置动画到SVG rect的'fill'属性)。无论如何,IE运行动画很好而且速度很快......但是所有其他浏览器在运行动画之前都有明显的延迟。几乎就像那些浏览器需要“旋转”一个引擎来处理这个...我也在网上看了一些其他的例子,一些动画似乎“波涛汹涌”。我想我可以将IE和CSS3关键帧的requestAnimationFrame用于其他浏览器:-(真的不想。我错过了什么?为什么动画播放前的延迟?

animateViaRequestAnimationFrame = function() { // 

    var duration = arguments[0].duration;

    // requestAnimationFrame is ~60 frames/second
    var quantityFrameCalls = parseInt((duration/1000)*60);

    i = 1;
    function callFrame(){

        // here, bunch of values math and updating the target element properties 

        i++;
        if (i < quantityFrameCalls+1) {
            requestAnimationFrame(function(){
                callFrame();    
            });
        } // if

    } // callFrame

    requestAnimationFrame(function(){
        callFrame();    
    });

}; // animateViaRequestAnimationFrame

1 个答案:

答案 0 :(得分:1)

OMG。错误地,我在测试矩上留下了css转换,延迟了转换。所以,Ben是正确的:-)嗯,至少我现在有一个超酷的网络工作者启用RAF动画功能。 DOH