您的位置:首页 > Web前端 > JavaScript

JavaScript+html5 canvas制作的圆中圆效果实例

2016-01-27 09:41 756 查看

本文实例讲述了JavaScript+html5 canvas制作的圆中圆效果。分享给大家供大家参考,具体如下:

运行效果截图如下:

具体代码如下:

<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<style type="text/css">
#canvas {
background:#F2F2F2; height:500px; height:500px; margin-top:100px; margin-left:200px;
}
</style>
</head>
<body>
<canvas id="canvas" width="500px" height="500px" ></canvas>
</body>
<script type="text/javascript">
(function() {
var dyl = {};
dyl.getDom = function(id) {
return document.getElementById(id);
}
dyl.getContext = function(canvasID) {
var canvas = this.getDom(canvasID);
if(!canvas) {
return null;
}
return canvas.getContext("2d");
}
if(!window.dyl) {
window.dyl = dyl;
}
})();
cache = {};
cache.context = dyl.getContext('canvas');
// 每个圈的圆个数控制
cache.scaleNmb = 6;
cache.createColor = function() {
var color = "rgb(";
color += Math.round(Math.random()*255);
color += ",";
color += Math.round(Math.random()*255);
color += ",";
color += Math.round(Math.random()*255);
color += ")";
return color;
};
cache.draw = function() {
cache.context.fillRect(-10, -10, 20, 20);
for(var i=1; i<10; i++) {
cache.context.save();
for(var j=0; j<cache.scaleNmb*i; j++) {
cache.context.rotate(Math.PI*2/(cache.scaleNmb*i));
cache.context.fillStyle = cache.createColor();
cache.context.beginPath();
cache.context.arc(0, 20*i, 5, 0,Math.PI*2, true);
cache.context.closePath();
cache.context.fill();
}
cache.context.restore();
}
};
cache.init = function() {
cache.context.translate(250, 250);
cache.draw();
};
cache.init();
</script>
</html>

更多关于js特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》、《jQuery常见经典特效汇总》及《JavaScript动画特效与技巧汇总

希望本文所述对大家JavaScript程序设计有所帮助。

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  JavaScript html5 canvas