requestAnimationFrame polyfill:什么是元素参数?

时间:2013-04-25 14:23:24

标签: javascript parameters element requestanimationframe

我正在使用ErikMöller的requestAnimationFrame polyfill(来自Paul Irish和Tino Zijdel的修复),我想知道第二个参数叫做“element”。

以下是代码:

(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]+'CancelRequestAnimationFrame'];
    }

    if (!window.requestAnimationFrame)
        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);
        };
}());

所以我的问题是关于这一行:

window.requestAnimationFrame = function(callback, element) {

“元素”做什么?

非常感谢您提前,

1 个答案:

答案 0 :(得分:0)

根据W3C draft,没有element参数传递给此函数。至少现在。

如您所见,有an issue表示添加了此类参数。 对于此规范的第一个版本,此问题被认为不是已被关闭。

我认为你可以忽略这个参数。