requestAnimationFrame代替setTimeout
2016-07-19 10:11
441 查看
1.requestAnimationFrame可以代替setTimeout做动画(一般来说,requestAnimationFrame频率为每秒60帧。)
2.兼容性IE9-不支持
3.回退兼容的写法(不支持则使用setTimeout)
http://www.cnblogs.com/Wayou/p/requestAnimationFrame.html
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
相关文章推荐
- NV Oblique Frustum Clipping demo
- Oblique View Frustum
- 关于UE4.12打包后无法切换到VR模式的问题
- iOS--UI之导航控制器与标签控制器
- 第2条:遇到多个构造器参数时要考虑用构造器
- 常用UI布局
- hdu 3519 Lucky Coins Sequence 矩阵快速幂
- js中return false,return,return true的用法及区别
- 1.IOS>UI>storyboard
- UIScrollView上有3个表格,滑动到第2,3个表格,然后点击表格push下一页,UIScrollView显示回到第一个表格
- APUE 5-15 观察内存流的写入操作
- VS2010打开工程.csproj文件报错:无法计算“...”处的属性表达式“$([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExte
- APUE 5-13 mkstemp函数的应用
- APUE 5-11 对各个标准I/O流打印缓冲状态信息
- APUE 4-22 递归降序遍历目录层次结构,并按文件类型计数
- dedecms5.7安装百度(ueditor)编辑器的方法
- Median Value
- 在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery)
- APUE 4-3 对每个命令行参数打印文件类型
- APUE 3-5 将标准输入复制到标准输出