代码流星雨

简介: 代码流星雨

在这里插入图片描述

<!doctype html>
<html>    
<head>        
<meta charset="GB2312" />        
<title>流星雨</title>        
<meta name="keywords" content="关键词,关键字">        <meta name="description" content="描述信息">        <style>            
body {                
margin: 0;                
overflow: hidden;            
}        
</style>    
</head>      
<body>          
<!--            
<canvas>画布 画板 画画的本子        
-->        
<canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>          
<!--            javascript            画笔        -->        <script>                                 
//获取画板            
//doccument 当前文档            
//getElement 获取一个标签            
//ById 通过Id名称的方式            
//var 声明一片空间            
//var canvas 声明一片空间的名字叫做canvas            var canvas = document.getElementById("canvas");            //获取画板权限 上下文            
var ctx = canvas.getContext("2d");            
//让画板的大小等于屏幕的大小            
/*                
思路:                   
 1.获取屏幕对象                    
 2.获取屏幕的尺寸                    
 3.屏幕的尺寸赋值给画板           
 */           
//获取屏幕对象            
var s = window.screen;            
//获取屏幕的宽度和高度           
var w = s.width;           
var h = s.height;           
//设置画板的大小            
canvas.width = w;            
canvas.height = h;              
//设置文字大小             
var fontSize = 14;            
//计算一行有多少个文字 取整数 向下取整            
var clos = Math.floor(w/fontSize);            
//思考每一个字的坐标            
//创建数组把clos 个 0 (y坐标存储起来)            var drops = [];            
var str = "qwertyuiopasdfghjklzxcvbnm";            
//往数组里面添加 clos 个 0            
for(var i = 0;i<clos;i++) {                drops.push(0);            
}              
//绘制文字           
 function drawString() {               
  //给矩形设置填充色                
  ctx.fillStyle="rgba(0,0,0,0.05)"                
  //绘制一个矩形                
  ctx.fillRect(0,0,w,h);                 
   //添加文字样式                
   ctx.font = "600 "+fontSize+"px 微软雅黑";                
   //设置文字颜色               
    ctx.fillStyle = "#ff2d2d";                  
    for(var i = 0;i<clos;i++) {                   
     //x坐标                   
      var x = i*fontSize;                    
      //y坐标                  
        var y = drops[i]*fontSize;                  
          //设置绘制文字                    
ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);                    if(y>h&&Math.random()>0.99){                        drops[i] = 0;                   
 }                   
  drops[i]++;                
  }                                 
  }           
   //定义一个定时器,每隔30毫秒执行一次            
   setInterval(drawString,30);        
   </script>    
 </body>
</html>
目录
相关文章
|
18天前
|
设计模式 IDE Java
如何将代码写的更加优雅?
如何将代码写的更加优雅?
29 0
|
18天前
关于代码的思考
关于代码的思考
10 0
|
7月前
|
存储 安全 Java
写出漂亮代码的45个小技巧(下)
大家好,我是三友~~ 不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。
写出漂亮代码的45个小技巧(下)
|
7月前
|
设计模式 存储 Java
写出漂亮代码的45个小技巧(上)
大家好,我是三友~~ 不知道大家有没有经历过维护一个已经离职的人的代码的痛苦,一个方法写老长,还有很多的if else ,根本无法阅读,更不知道代码背后的含义,最重要的是没有人可以问,此时只能心里默默地问候这个留坑的兄弟。。
写出漂亮代码的45个小技巧(上)
|
11月前
|
存储 设计模式 安全
代码优雅的45个小技巧,你知道吗?
代码优雅的45个小技巧,你知道吗?
|
前端开发 iOS开发
一行代码就能完成的事情,为什么要写两行
一行代码就能完成的事情,为什么要写两行
75 0
一行代码就能完成的事情,为什么要写两行
|
设计模式 IDE Java
最好的代码是没有代码
对于大多数软件开发者来说,要让他们承认这一点是很痛苦的,因为他们爱他们的代码。你写的每一行新代码都需要经过调试,需要具备可阅读性和可维护性。
最好的代码是没有代码
|
程序员 数据库
【评论】好代码不值钱
导读: 原文来自geekm.ag 上一篇《 Good code is cheap code》,由国内整理编译《好代码不值钱》。作者认为好的程序员和伟大的程序员之间的区别就在于伟大的程序员理解他们的模式。
852 0
每天写出好代码的5个建议
译文出自:伯乐在线
638 0

热门文章

最新文章