代码流星雨

简介: 代码流星雨

在这里插入图片描述

<!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>
目录
相关文章
|
5月前
|
设计模式 IDE Java
如何将代码写的更加优雅?
如何将代码写的更加优雅?
47 0
|
5月前
|
前端开发 Java C++
一行代码就能完成的事情,为什么要写两行?
一行代码就能完成的事情,为什么要写两行?
|
12月前
|
敏捷开发 Cloud Native JavaScript
你写过的最蠢的代码是?
你写过的最蠢的代码是?
43 0
|
存储 设计模式 安全
代码优雅的45个小技巧,你知道吗?
代码优雅的45个小技巧,你知道吗?
|
定位技术 数据处理 开发工具
如何优雅地统计代码(一)
*精美排版详见钉钉文档其实这个事情要从一个下午讲起,对我来说是个尤里卡时刻;其实一开始让我直接从数据里统计大家提交代码是有点无从下手的,前几天开始调研了一波代码统计方案后发现大部分都是基于文件来统计代码的各种行数并没有这种基于前后版本的变更代码统计,大家更多的使用Git自带的统计方法但显然我这里没有这样的环境(下面背景会详细展开),快要放弃今天的技术调研遂下楼散步刷新思维,我又回溯了我在这个项目中
|
存储 分布式计算 并行计算
聊聊什么代码是好代码
聊聊什么代码是好代码
|
SQL 人工智能 前端开发
无代码的未来
随着无代码技术越来越成熟,很多web应用已经可以基于无代码平台进行开发。本文分析了4个最流行的无代码平台,并梳理了无代码行业今后可能的发展方向。
416 0
无代码的未来
这一团糟的代码,真的是我写的?!
阿里妹导读:你有没有遇到过这种情况:过几周或者几个月之后,再看到自己写的代码,感觉一团糟,不禁怀疑人生?我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。今天,我们就来说什么是好的代码?
28866 0
|
测试技术 UED 开发者
被劣质代码“残害”的这些年
都已经 2020 年了,但我们仍然在生产劣质软件。自从计算机诞生以来,已经过去了近 70 年,但我们似乎还没有吸取所有的教训,仍然在犯着重复的错误。
我所经手过的最差代码
译文链接:我所经手过的最差代码
543 0