Skip to content

Commit 45c4e0c

Browse files
author
Amir Tocker
committed
Modularize requestAnimationFrame
1 parent e259b77 commit 45c4e0c

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

src/Util/requestAnimationFrame.js

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,29 @@
55

66
// MIT license
77

8-
(function() {
9-
var lastTime = 0;
10-
var vendors = ['ms', 'moz', 'webkit', 'o'];
11-
for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {
12-
window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];
13-
window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame']
14-
|| window[vendors[x]+'CancelRequestAnimationFrame'];
15-
}
8+
var lastTime = 0;
9+
var vendors = ['ms', 'moz', 'webkit', 'o'];
10+
var requestAnimationFrame = window.requestAnimationFrame;
11+
var cancelAnimationFrame = window.cancelAnimationFrame;
12+
for (var x = 0; x < vendors.length && !requestAnimationFrame; ++x) {
13+
requestAnimationFrame = window[vendors[x] + 'RequestAnimationFrame'];
14+
cancelAnimationFrame = window[vendors[x] + 'CancelAnimationFrame']
15+
|| window[vendors[x] + 'CancelRequestAnimationFrame'];
16+
}
1617

17-
if (!window.requestAnimationFrame)
18-
window.requestAnimationFrame = function(callback, element) {
19-
var currTime = new Date().getTime();
20-
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
21-
var id = window.setTimeout(function() { callback(currTime + timeToCall); },
22-
timeToCall);
23-
lastTime = currTime + timeToCall;
24-
return id;
25-
};
18+
if (!requestAnimationFrame)
19+
requestAnimationFrame = function (callback, element) {
20+
var currTime = new Date().getTime();
21+
var timeToCall = Math.max(0, 16 - (currTime - lastTime));
22+
var id = window.setTimeout(function () { callback(currTime + timeToCall); },
23+
timeToCall);
24+
lastTime = currTime + timeToCall;
25+
return id;
26+
};
2627

27-
if (!window.cancelAnimationFrame)
28-
window.cancelAnimationFrame = function(id) {
29-
clearTimeout(id);
30-
};
31-
}());
28+
if (!cancelAnimationFrame)
29+
cancelAnimationFrame = function (id) {
30+
clearTimeout(id);
31+
};
32+
33+
export {requestAnimationFrame, cancelAnimationFrame};

0 commit comments

Comments
 (0)