Window requestAnimationFrame() 方法

JavaScript Window 对象

requestAnimationFrame()方法告诉浏览器您希望执行动画,并请求浏览器在下一次重新绘制之前调用指定的函数来更新动画。

该方法将回调作为要在重绘之前调用的参数。

语法:

window.requestAnimationFrame(callback)
var start = null;
var element = document.getElementById('anim');

function step(timestamp) {
  if (!start) start = timestamp;
  var progress = timestamp - start;
  element.style.transform = 'translateX(' + Math.min(progress / 10, 400) + 'px)';
  if (progress < 20000) {
     window.requestAnimationFrame(step);
  }
}

window.requestAnimationFrame(step);
测试看看‹/›

浏览器兼容性

表中的数字指定了完全支持requestAnimationFrame()方法的第一个浏览器版本:

Method
requestAnimationFrame()2423156.110

参数值

参数描述
callback当需要更新动画以进行下一次重绘时调用的函数

技术细节

返回值:一个长整数值(请求ID),用于唯一标识回调列表中的条目

相关参考

CSS教程:CSS动画

CSS参考:CSS动画属性

CSS参考:CSS animation-delay属性

CSS参考:CSS动画方向属性

CSS参考:CSS动画持续时间属性

CSS参考:CSS animation-fill-mode属性

CSS参考:CSS animation-iteration-count属性

CSS参考:CSS animation-name属性

CSS参考:CSS animation-play-state属性

CSS参考:CSS animation-timing-function属性

JavaScript Window 对象