Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ie9中的错误requestAnimationFrame任何替代解决方案_Javascript_Jquery_Canvas_Html5 Canvas_Internet Explorer 9 - Fatal编程技术网

Javascript ie9中的错误requestAnimationFrame任何替代解决方案

Javascript ie9中的错误requestAnimationFrame任何替代解决方案,javascript,jquery,canvas,html5-canvas,internet-explorer-9,Javascript,Jquery,Canvas,Html5 Canvas,Internet Explorer 9,我正在创建Canvas(我是这个Canvas的新手)对象圆柱体,这在Chrome和Firefox中运行良好,但当我在ie9中打开同一个文件时 “requestAnimationFrame”未定义,因此出现错误 当我搜索错误时,它说RequestAnationFrame在ie9上无法工作 有谁能帮我解决这个问题吗?我们有别的办法解决这个问题吗 这是我的密码 var canvas = document.getElementById("canvas"); var context = c

我正在创建Canvas(我是这个Canvas的新手)对象圆柱体,这在Chrome和Firefox中运行良好,但当我在ie9中打开同一个文件时

“requestAnimationFrame”未定义,因此出现错误

当我搜索错误时,它说RequestAnationFrame在ie9上无法工作

有谁能帮我解决这个问题吗?我们有别的办法解决这个问题吗

这是我的密码

var canvas = document.getElementById("canvas");
        var context = canvas.getContext("2d");

        var degreeAngle = 0;
        requestAnimationFrame(animate);

        function drawRotatedCylinder(x, y, w, h, degreeAngle) {
            context.save();
            context.translate(x + w / 10, y + h / 10);
            context.rotate(degreeAngle * Math.PI / 180);
            drawCylinder(-w / 10, -h / 10, w, h);
            context.restore();
        }   
function animate() {
        //requestAnimationFrame(animate);
        context.clearRect(0, 0, canvas.width, canvas.height);
        drawRotatedCylinder(100, 100, 180, 180, degreeAngle++);
}
请帮我解决上述问题

谢谢你
马哈

埃里克·莫勒(Erik Möller)开发了一种强健的聚填料,保罗·爱尔兰(Paul Irish)现在在他的。如果使用此代码,则可以在几乎任何浏览器中透明地使用requestAnimationFrame:

(function() {
    var lastTime = 0;
    var vendors = ['webkit', 'moz'];
    for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
        window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
        window.cancelAnimationFrame =
          window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame'];
    }

    if (!window.requestAnimationFrame)
        window.requestAnimationFrame = function(callback, element) {
            var currTime = new Date().getTime();
            var timeToCall = Math.max(0, 16 - (currTime - lastTime));
            var id = window.setTimeout(function() { callback(currTime + timeToCall); },
              timeToCall);
            lastTime = currTime + timeToCall;
            return id;
        };

    if (!window.cancelAnimationFrame)
        window.cancelAnimationFrame = function(id) {
            clearTimeout(id);
        };
}());
(函数(){
var lastTime=0;
var vendors=['webkit','moz'];
对于(var x=0;x
您并没有真正搜索它,是吗?!嗨@A.Wolff我真的搜索过了,但是我没能找到solution@user3820621因此,我很抱歉,请看这里以获得更好的解释:问题解决了,我将上面的javascript放在我的代码之前,它工作正常ie9再次感谢大家