'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var now = require('./now');
var isBrowser = require('./isBrowser');
var raf, cancel;
var lastTime = 0;
if (isBrowser) {
    raf = window.requestAnimationFrame;
    cancel = window.cancelAnimationFrame;
    var vendors = ['ms', 'moz', 'webkit', 'o'];
    for (var i = 0, len = vendors.length; i < len && !raf; i++) {
        raf = window[vendors[i] + 'RequestAnimationFrame'];
        cancel =
            window[vendors[i] + 'CancelAnimationFrame'] ||
            window[vendors[i] + 'CancelRequestAnimationFrame'];
    }
    if (raf) {
        raf = raf.bind(window);
        cancel = cancel.bind(window);
    }
}
raf =
    raf ||
    function(cb) {
        var curTime = now();
        var timeToCall = Math.max(0, 16 - (curTime - lastTime));
        var id = setTimeout(function() {
            cb(curTime + timeToCall);
        }, timeToCall);
        lastTime = curTime + timeToCall;
        return id;
    };
cancel =
    cancel ||
    function(id) {
        clearTimeout(id);
    };
raf.cancel = cancel;
exports = raf;
 
module.exports = exports;