码迷,mamicode.com
首页 > Web开发 > 详细

HTML实现流星雨效果

时间:2018-11-30 15:37:37      阅读:570      评论:0      收藏:0      [点我收藏+]

标签:random   and   存储   meta   名称   文字   尺寸   定时   实现   

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <meta charset="utf-8" />
 5 <title>流星雨</title>
 6 <meta name="keywords" content="关键词,关键字">
 7 <meta name="description" content="描述信息">
 8 <style>
 9 body {
10 margin: 0;
11 overflow: hidden;
12 }
13 </style>
14 </head>
15 
16 <body>
17 
18 <!--
19 <canvas>画布 画板 画画的本子
20 -->
21 <canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>
22 
23 <!--
24 javascript
25 画笔
26 --> 
27 <script>
28 
29 //获取画板
30 //doccument 当前文档
31 //getElement 获取一个标签
32 //ById 通过Id名称的方式
33 //var 声明一片空间
34 //var canvas 声明一片空间的名字叫做canvas
35 var canvas = document.getElementById("canvas");
36 //获取画板权限 上下文
37 var ctx = canvas.getContext("2d");
38 //让画板的大小等于屏幕的大小
39 /*
40 思路:
41 1.获取屏幕对象
42 2.获取屏幕的尺寸
43 3.屏幕的尺寸赋值给画板
44 */
45 //获取屏幕对象
46 var s = window.screen;
47 //获取屏幕的宽度和高度
48 var w = s.width;
49 var h = s.height;
50 //设置画板的大小
51 canvas.width = w;
52 canvas.height = h;
53 
54 //设置文字大小 
55 var fontSize = 14;
56 //计算一行有多少个文字 取整数 向下取整
57 var clos = Math.floor(w/fontSize);
58 //思考每一个字的坐标
59 //创建数组把clos 个 0 (y坐标存储起来)
60 var drops = [];
61 var str = "qwertyuiopasdfghjklzxcvbnm";
62 //往数组里面添加 clos 个 0
63 for(var i = 0;i<clos;i++) {
64 drops.push(0);
65 }
66 
67 //绘制文字
68 function drawString() {
69 //给矩形设置填充色
70 ctx.fillStyle="rgba(0,0,0,0.05)"
71 //绘制一个矩形
72 ctx.fillRect(0,0,w,h);
73 
74 //添加文字样式
75 ctx.font = "600 "+fontSize+"px 微软雅黑";
76 //设置文字颜色
77 ctx.fillStyle = "#00ff00";
78 
79 for(var i = 0;i<clos;i++) {
80 //x坐标
81 var x = i*fontSize;
82 //y坐标
83 var y = drops[i]*fontSize;
84 //设置绘制文字
85 ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);
86 if(y>h&&Math.random()>0.99){
87 drops[i] = 0;
88 }
89 drops[i]++;
90 }
91 
92 }
93 //定义一个定时器,每隔30毫秒执行一次
94 setInterval(drawString,30);
95 </script>
96 </body>
97 </html>

 

HTML实现流星雨效果

标签:random   and   存储   meta   名称   文字   尺寸   定时   实现   

原文地址:https://www.cnblogs.com/CoderKobe/p/10043969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!