requestAnimationFrame 实现更流畅,高效的动画效果
2016-06-27 10:39
579 查看
学习笔记:requestAnimationFrame()
requestAnimationFrame()
是浏览器提供的一个统一帧管理、提供监听帧的API。这个方法原理跟setTimeout/setInterval差不多,setTimeout/setInterval都是要指定好间隔时间,而requestAnimationFrame
在运行时,浏览器会自动检测性能,实现最优的动画帧频率。
简单的浏览器兼容
window.requestAnim<span style="line-height: 25.6px; font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif;">ation</span>Frame = (function() {
return window.requestAnimationFrame ||
一般用法递归循环:
function
loop(){
requestAnimationFrame(loop);
/*
.... */
}
可以通过 window.cancelAnimationFrame() 来取消动画。
var
raf = requestAnimationFrame(callback); cancelAnimationFrame(raf
);
requestAnimationFrame()
是浏览器提供的一个统一帧管理、提供监听帧的API。这个方法原理跟setTimeout/setInterval差不多,setTimeout/setInterval都是要指定好间隔时间,而requestAnimationFrame
在运行时,浏览器会自动检测性能,实现最优的动画帧频率。
简单的浏览器兼容
window.requestAnim<span style="line-height: 25.6px; font-family: "Segoe UI", "Lucida Grande", Helvetica, Arial, "Microsoft YaHei", FreeSans, Arimo, "Droid Sans", "wenquanyi micro hei", "Hiragino Sans GB", "Hiragino Sans GB W3", FontAwesome, sans-serif;">ation</span>Frame = (function() {
return window.requestAnimationFrame ||
<span style="white-space:pre"> </span> window.webkitRequestAnimationFrame ||
<span style="white-space:pre"> </span> window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
<span style="white-space:pre"> </span> window.msRequestAnimationFrame || function(callback) { <span style="white-space:pre"> </span> return window.setTimeout(callback, 30); }; })();
一般用法递归循环:
function
loop(){
requestAnimationFrame(loop);
/*
.... */
}
可以通过 window.cancelAnimationFrame() 来取消动画。
var
raf = requestAnimationFrame(callback); cancelAnimationFrame(raf
);
相关文章推荐
- HTML5中在客户端验证文件上传的大小
- html5 web数据存储
- HTML5调用摄像头实例
- 页面元素查找之Selectors API
- 使用ajax实现用户登录验证(升级版)
- Canvas 在高清屏下绘制图片变模糊的解决方法
- 关于前端的思考与感悟
- 新时代编辑神器:Atom
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- 又被事件冒泡坑了一把,这次要彻底弄懂浏览器的事件流
- 移动端点击事件全攻略,这里的坑你知多少?
- Gifski:一个跨平台的高质量 GIF 编码器
- 模仿动画的放大缩小容器
- jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
- 原生js结合html5制作小飞龙的简易跳球
- Android实现定制返回按钮动画效果的方法
- Android中ViewFlipper的使用及设置动画效果实例详解