Canvas实现放射线动画效果
2017-02-15 10:23
706 查看
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> 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); } } </style> </head> <body> <canvas id="canv" width="600" height="600"></canvas> <script type="text/javascript"> 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); var radians = 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() { var r = 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); </script> </body> </html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
您可能感兴趣的文章:
相关文章推荐
- HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
- HTML5 Canvas动画效果实现原理
- 基于canvas实现物理运动效果与动画效果(一)
- js通过canvas实现动画效果
- Canvas实现绚丽的倒计时效果(动画效果)
- Canvas编程练习:20几行js代码实现雷达扫描动画效果
- javascript+HTML5的Canvas实现Lab单车动画效果
- 通过Canvas的叠加实现Android中环形View的颜色填充动画效果
- HTML5 Canvas动画效果实现原理
- 利用canvas实现的加载动画效果实例代码
- 使用Canvas实现动画效果 | DKlogs -- 设计 | 生活
- 使用JavaScript和Canvas实现下雪动画效果
- HTML5 Canvas动画效果实现原理
- HTML5 Canvas动画效果实现原理
- [置顶] HTML5 实现小车动画效果(Canvas/CSS3/JQuery)
- 用css3和canvas实现的蜂窝动画效果
- 通过Canvas的叠加实现Android中环形View的颜色填充动画效果
- HTML5 Canvas动画效果实现原理
- 用Canvas实现动画效果
- JS基于HTML5的canvas标签实现炫目的色相球动画效果实例