使用requestAnimationFrame polyfill时是否需要清除超时?

时间:2018-09-26 00:20:31

标签: javascript javascript-events

对于较旧的浏览器,有一个requestAnimationFrame polyfill可以回退到setTimeout()。我想知道使用window.requestAnimationFrame()时是否需要清除此超时。这是一个代码片段的示例:

var timeout;

window.addEventListener( 'scroll', function() {
    if ( timeout ) {
        window.cancelAnimationFrame( timeout );
    }

    timeout = window.requestAnimationFrame( myFunction );
}, false );

还是应该这样(如果是,那么请您解释一下原因?):

window.addEventListener( 'scroll', function() {
    window.requestAnimationFrame( myFunction );
}, false );

1 个答案:

答案 0 :(得分:0)

应将其用作本机requestAnimationFrame。只需认为这是本机实现即可,如果您需要调用cancelRequestAnimationFrame,则仍然需要调用它。