test for rAF.js

JavaScript

(function(w, a, b, af, x, lastTime, v) {
    var c = "c" + a,
        C = "C" + a,
        r = "r" + b,
        R = "R" + b;

    for (; x < 4 && !w[r + af]; ++x) {
        w[r + af] = w[v[x] + R + af];
        w[c + af] = w[v[x] + C + af] || w[v[x] + C + R + af];
    }

    if (!w[r + af]) {
        w[r + af] = function(callback, element) {
            var currTime = +new Date(),
                timeToCall = Math.max(0, 16 - (currTime - lastTime)),
                id = w.setTimeout(function() {
                    callback(currTime + timeToCall);
                }, timeToCall);
            lastTime = currTime + timeToCall;
            return id;
        };
    }

    if (!w[c + af]) {
        w[c + af] = function(id) {
            clearTimeout(id);
        };
    }
})(window, "ancel", "equest", "AnimationFrame", 0, 0, ["ms", "moz", "webkit", "o"]);


/* compressed (393B)*/  /*
(function(m,j,i,l,k,f,n){var h="c"+j,e="C"+j,d="r"+i,g="R"+i;for(;k<4&&!m[d+l];++k){m[d+l]=m[n[k]+g+l];m[h+l]=m[n[k]+e+l]||m[n[k]+e+g+l];}if(!m[d+l]){m[d+l]=function(p,b){var a=+new Date(),c=Math.max(0,16-(a-f)),o=m.setTimeout(function(){p(a+c);},c);f=a+c;return o;};}if(!m[h+l]){m[h+l]=function(a){clearTimeout(a);};}})(window,"ancel","equest","AnimationFrame",0,0,["ms","moz","webkit","o"]); */



// test code
/*
var i = 0,
    db = document.body;
function render() { db.innerHTML = i++; }
function animationLoop(){
    render();
    requestAnimationFrame(animationLoop);
}
animationLoop();
*/