CSS:
<style>
*{
margin: 0;
padding: 0;
}
html{
overflow: hidden;
}
</style>
body:
<canvas id="canvas" style="background-color: #111111;"></canvas>
<script>
// 获取画布对象
var canvas = document.querySelector('canvas');
// 获去画布上下文
var cxt = canvas.getContext('2d');
// 获取浏览器窗口的宽度或者高度
var W = window.innerWidth;
var H = window.innerHeight;
// 设置canvas的宽高
canvas.width = W;
canvas.height = H;
// 设置字体大小
var fontSize = 16;
// 计算窗口可以排放的列
var colums = Math.floor(W / fontSize);
// 记录文字坐标
var drop = [];
// 给每一字文字一个初始起点的位置
for (var i = 0; i < colums; i++) {
drop.push(0);
}
console.log(drop);
// 设置代码雨的运行轨迹
var str = 'dfsgwehfhjfwtwwtwgfgwtwr2rwfefswgwtwt';
// 绘画的函数
function draw(){
cxt.beginPath();
cxt.fillStyle = "rgba(0,0,0,0,05)";
cxt.fillRect(0,0,W,H);
cxt.beginPath();
cxt.font = fontSize + 'px + 微软雅黑';
cxt.fillStyle = '#22ff22';
for (var i = 0; i < colums; i++) {
var index = Math.floor(Math.random()*str.leng);
var x = i*fontSize;
var y = drop[i]*fontSize;
console.log('x:' + x + '......' + 'y:' + y);
cxt.fillText(str[index],x,y);
// 改变时间,就要改变每一次的起点
if (y >= canvas.height && Math.random() > 0.99) {
drop[i] = 0;
}
drop[i]++;
}
};
draw();
setInterval(draw30);