使用requestAnimationFrame实现平滑高效的javascript动画
来源:互联网 发布:hive sql 函数大全 编辑:程序博客网 时间:2024/05/16 16:02
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>requestAnimFrame</title>
</head>
<body>
<canvas width="256" height="256" id="J_canvas"></canvas>
<script>
var canvas, context;
function draw() {
canvas=document.getElementById("J_canvas");
context = canvas.getContext( '2d' );
var time = new Date().getTime() * 0.002;
var x = Math.sin( time ) * 96 + 128;
var y = Math.cos( time * 0.9 ) * 96 + 128;
context.fillStyle = 'rgb(245,245,245)';
context.fillRect( 0, 0, 255, 255 );
context.fillStyle = 'rgb(255,0,0)';
context.beginPath();
context.arc( x, y, 10, 0, Math.PI * 2, true );
context.closePath();
context.fill();
}
window.requestAnimFrame = (function(){
return window.requestAnimationFrame ||
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.oRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function(callback, element){
window.setTimeout(callback, 1000 / 60);
};
})();
function animate() {
draw();
requestAnimFrame( animate );
//setTimeout("animate()",10);
}
window.onload = function(){
animate();
}
</script>
</body>
</html>
<iframe width="100%" height="300" src="http://jsfiddle.net/Kt3My/embedded/" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
将//setTimeout("animate()",10)注释去掉,上述示例可以对比看出requestAnimFrame和setTimeout两种调用方式的动画流畅差异。
http://www.cnblogs.com/rubylouvre/archive/2011/08/22/2148793.html
return window.cancelAnimationFrame ||
window.webkitCancelAnimationFrame ||
window.mozCancelAnimationFrame ||
window.oCancelAnimationFrame ||
window.msCancelAnimationFrame ||
function(callback, element){
window.clearTimeout(callback, 1000 / 60);
};
})();
- 使用requestAnimationFrame实现平滑高效的javascript动画
- Javascript : RequestAnimationFrame更好的实现Javascript动画
- RequestAnimationFrame更好的实现Javascript动画
- RequestAnimationFrame更好的实现Javascript动画
- requestAnimationFrame 实现更流畅,高效的动画效果
- 使用requestAnimationFrame的动画循环
- JavaScript requestAnimationFrame动画
- requestAnimationFrame实现动画
- 【JavaScript】性能更好的js动画实现方式——requestAnimationFrame
- 【JavaScript】性能更好的js动画实现方式——requestAnimationFrame
- requestAnimationFrame的动画循环
- 利用requestAnimationFrame实现智能动画
- 利用requestAnimationFrame实现智能动画
- 利用requestAnimationFrame实现智能动画
- [前端] requestAnimationFrame 实现动画效果
- 性能更好的js动画实现方式——requestAnimationFrame
- 性能更好的js动画实现方式——requestAnimationFrame
- 性能更好的js动画实现方式——requestAnimationFrame
- Duilib技巧:背景图片平铺
- SCI论文从入门到精通
- EMC笔试
- Java序列化机制(3)- 自动与半自动序列化 实现Serializable接口
- yum安装
- 使用requestAnimationFrame实现平滑高效的javascript动画
- 设计模式之工厂模式二
- 安装apk到android虚拟机
- SQLSERVER的自定义函数,不支持使用exec sp_executesql与Exec()
- Android中监听ScrollView滑动停止和滑动到底部
- Visual Studio 2008提高工作效率的小技巧
- jodconverter already running问题解决
- Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xm
- JBoss 系列五十九:jBPM Human Task 源代码分析 - II