Create a gist now

Instantly share code, notes, and snippets.

@geddski /rAF.js forked from paulirish/rAF.js
Created Jan 20, 2012

Embed
What would you like to do?
requestAnimationFrame polyfill
// http://paulirish.com/2011/requestanimationframe-for-smart-animating/
// http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
// requestAnimationFrame polyfill by Erik Möller
// fixes from Paul Irish and Tino Zijdel
(function() {
var lastTime = 0;
var vendors = ['ms', 'moz', 'webkit', 'o'];
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]+'RequestCancelAnimationFrame'];
}
if (!window.requestAnimationFrame || !window.cancelAnimationFrame) //current Chrome (16) supports request but not cancel
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);
};
}());
@geddski

This comment has been minimized.

Show comment
Hide comment
@geddski

geddski Jan 20, 2012

line 16 fixes issue with Chrome 16 not supporting the cancelAnimationFrame

Owner

geddski commented Jan 20, 2012

line 16 fixes issue with Chrome 16 not supporting the cancelAnimationFrame

@paulirish

This comment has been minimized.

Show comment
Hide comment
@paulirish

paulirish Jan 20, 2012

Whatchu talkin about.. Chrome 16 has webkitCancelRequestAnimationFrame

paulirish commented Jan 20, 2012

Whatchu talkin about.. Chrome 16 has webkitCancelRequestAnimationFrame

@paulirish

This comment has been minimized.

Show comment
Hide comment
@paulirish

paulirish Jan 20, 2012

http://jsfiddle.net/XQpzU/2117/show/ and run webkitCancelRequestAnimationFrame(rid) in console.

paulirish commented Jan 20, 2012

http://jsfiddle.net/XQpzU/2117/show/ and run webkitCancelRequestAnimationFrame(rid) in console.

@geddski

This comment has been minimized.

Show comment
Hide comment
@geddski

geddski Jan 21, 2012

What the junk, you're right. I swear I tested it and double checked my spelling. My bad. Deleting this gist.
/facepalm

Owner

geddski commented Jan 21, 2012

What the junk, you're right. I swear I tested it and double checked my spelling. My bad. Deleting this gist.
/facepalm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment