对于旧版浏览器,有一个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 );
它应该用作本机requestAnimationFrame。只是认为这是本机实现,如果你需要调用cancelRequestAnimationFrame,那么你需要调用它。