var rfa = null; if (window.requestAnimationFrame) { rfa = requestAnimationFrame; } else if (window.webkitRequestAnimationFrame) { rfa = webkitRequestAnimationFrame; } else if (window.msRequestAnimationFrame) { rfa = msRequestAnimationFrame; } else if (window.oRequestAnimationFrame) { rfa = oRequestAnimationFrame; } function animate(params, count) { rfa(function() { animateStep(params, count); }); } function animateStep(params, count) { if (!count) { document.documentElement.removeAttribute("class"); return; } var rel = document.getElementById("rel"); for (prop in params) { rel.style[prop] = (parseInt(rel.style[prop]) + params[prop]) + "px"; } rfa(function() { animateStep(params, count - 10); }); }