requestAnimationFrame代替setTimeout
来源:互联网 发布:多文件编程 编辑:程序博客网 时间:2024/06/06 05:21
1.requestAnimationFrame可以代替setTimeout做动画(一般来说,requestAnimationFrame频率为每秒60帧。)
2.兼容性IE9-不支持
3.回退兼容的写法(不支持则使用setTimeout)
//示例 var i=0; fun(); function fun() { console.log(i); if(i<100) { requestAnimationFrame(fun); } i++; } //封装 (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); }; }());
http://www.cnblogs.com/Wayou/p/requestAnimationFrame.html
0 0
- requestAnimationFrame代替setTimeout
- javascript requestAnimationFrame vs. setTimeout
- setTimeout配合requestAnimationFrame
- setTimeout, setInterval 与 requestAnimationFrame区别
- JavaScript 使用 requestAnimationFrame 代替 setInterval
- setTimeout, setInterval 与 requestAnimationFrame 隐藏的各种坑
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- requestAnimationFrame
- 关于eq() find()的方法案例
- win7+opencv2.4.10+vs2010配置问题之LINK : fatal error LNK1104: 无法打开文件“opencv_calib3d2410d.lib” 1>
- Arrange
- HTML5面试题目汇总(一)
- Android自定义View的实现方法,带你一步步深入了解View(四)
- requestAnimationFrame代替setTimeout
- 动态规划:从新手到专家
- python中常见的if __name__ == '__main__':
- Spring事务Transaction配置的五种注入方式详解
- 使用Spring MVC的@ControllerAdvice注解做Json的异常处理
- 【步兵 cocos2dx】texturePacker命令行
- 最详细的Log4j使用教程
- Oblique View Frustum
- 适配器模式——得心应手的“粘合剂”