requestAnimationFrame 完美兼容封装
2024-10-13 02:51:54
完美兼容封装:
(function() {
var lastTime = 0;
var vendors = ['webkit', 'moz'];
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);
};
}());
这样在ie8/ie9上也能用了
最新文章
- Move to Github
- 关于JS中作用域的销毁和不销毁的情况总结
- Qt调用dll中的功能函数
- 杭电1241 Oil Deposits
- __VA_ARGS__与逗号操作符的巧妙结合
- C#多线程开发
- C# 3.0 其他XML技术
- 3D图片采集与展示(SurfaceView 自适应 Camera, 录制视频, 抽取帧)
- CSS样式类型
- Java基础之路(三)下--流程控制语句
- [Swift]LeetCode494. 目标和 | Target Sum
- Python面向对象中的类和对象
- amoeba实现读写分离
- 132、Android安全机制(2) Android Permission权限控制机制(转载)
- 【Ansible 文档】【译文】配置文件
- 灾备系统的评判指标:RTO、RPO
- python数据结构之哈希表
- (网络流 匹配 KM) Going Home --poj -- 2195
- Day5 JDBC
- 深入理解List集合框架底层原理的实现