使用requestAnimationFrame polyfill时是否需要清除超时?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用requestAnimationFrame polyfill时是否需要清除超时?相关的知识,希望对你有一定的参考价值。
对于旧版浏览器,有一个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,那么你需要调用它。
以上是关于使用requestAnimationFrame polyfill时是否需要清除超时?的主要内容,如果未能解决你的问题,请参考以下文章
js动画之requestAnimationFrame回调函数代替setTimeout