用JavaScript编写气泡
2018-06-24 02:17:53来源:未知 阅读 ()
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>Document</title> 9 <style> 10 /* #cs { 11 border: 1px solid rebeccapurple; 12 } */ 13 </style> 14 </head> 15 16 <body> 17 <canvas id="cs" width="1200" height="600"></canvas> 18 19 <script> 20 window.onload = function () { 21 let cs = document.getElementById('cs'); 22 let ab = cs.getContext('2d'); 23 function random(min, max) { 24 return parseInt(Math.random() * (max - min + 1) + min); 25 } 26 class Bubble { 27 constructor() { 28 this.x = random(50, 950); 29 this.y = random(50, 550); 30 this.r = 50; 31 this.color = `rgb(${random(0,255)},${random(0,255)},${random(0,255)})`; 32 this.scale = 1;//放大缩小的比列 33 this.direct = 1;//放大缩小的方向 34 this.step = random(1, 10) / 500;//放大缩小的速率 35 } 36 draw() { 37 if (this.scale < 0) { 38 this.direct = 1; 39 } else if (this.scale > 1) { 40 this.direct = -1; 41 } 42 this.scale += this.step * this.direct; 43 ab.save();//保存转换状态 44 ab.beginPath();//一个新的路径 45 ab.translate(this.x, this.y); 46 ab.scale(this.scale, this.scale);//开始放大缩小 47 ab.arc(0, 0, this.r, 0, 2 * Math.PI); 48 ab.fillStyle = this.color;//背景颜色 49 ab.globalAlpha = this.scale;//透明 50 ab.fill(); 51 ab.restore();//恢复画布原点 52 } 53 } 54 let arr=[];//创建空数组 55 for(let i=0;i<50;i++){ 56 arr.push(new Bubble());//添加数组 57 } 58 setInterval(function(){ 59 ab.clearRect(0,0,1000,600);//清除之前的内容 60 for(let bum of arr){//遍历数组 61 bum.draw(); 62 } 63 },50) 64 65 } 66 </script> 67 </body> 68 69 </html>
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:DNS预解析prefetch
下一篇:DuelJS 介绍
- javascript面向对象入门基础详细介绍 2020-03-29
- JavaScript函数表达式详解及实例 2020-03-25
- 如何用javascript连接access数据库 2020-03-20
- js中去掉字串左右空格 2020-03-20
- Javascript中的经典技巧 2020-03-20
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash