最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Canvas实现放射线动画效果
时间:2017-04-06 编辑:简简单单 来源:一聚教程网
效果如下:
代码如下:
代码如下 | 复制代码 |
body {background: #000;overflow: hidden;margin: 0;padding: 0;} #canv {width: 45%;margin: 5% 30%;animation: wheel-rotate 30s linear infinite;} @keyframes wheel-rotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
var c; var $; var w = 600; var h = 600; constant = 15; var rad = 300; var timeout = 0; c = document.getElementById("canv"); $ = c.getContext("2d"); drawLines(); function drawLines() { $.fillRect(0,0,w,h); $.translate(w/2,h/2); for (var i = 0; i <25; i++) { for (var n = -45; n <= 45; n+=constant) { setTimeout("draw("+n+");",100 * timeout); timeout++; } } } function draw(n){ $.beginPath(); $.moveTo(0,rad); varradians=Math.PI/180*n; var x = (rad * Math.sin(radians)) / Math.sin(Math.PI/2 - radians); $.lineTo(x,0); if (Math.abs(n) == 45) { $.strokeStyle=rndColor(); $.lineWidth=2; } else if (n == 0) { $.strokeStyle="rgb(200,200,200)"; $.lineWidth=.5; } else { $.strokeStyle="rgb(110,110,110)"; $.lineWidth=.5; } $.stroke(); $.rotate((Math.PI/180)*15); } function rndColor() { varr=255*Math.random()|0, g=255*Math.random()|0, b=255*Math.random()|0; return 'rgb(' + r + ',' + g + ',' + b + ')'; } function myrefresh(){ //window.location.reload(); //drawLines() } //setTimeout('myrefresh()',100*175);
|
-
下一个: 原生js轮播(仿慕课网)
相关文章
- 使用Canvas绘制一个游戏人物属性图代码展示 09-28
- canvas 绘图时位置偏离的问题解决方法 09-16
- 基于canvas实现超炫酷的流水灯效果代码示例 05-20
- canvas绘制折线路径动画实现代码示例 05-12
- Canvas三种动态画圆实现方法代码 04-20
- Canvas跟随鼠标炫彩小球实现代码 04-14