<!DOCTYPE html>
<html>
<head>
<title>KuiaLe制代码雨</title>
</head>
<body>
<canvas id="canvas"></canvas>
<style type="text/css">
body{margin: 0; padding: 0; overflow: hidden;}
</style>
<script type="text/javascript">
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
var texts = '0123456789'.split('');//输出文字内容
var fontSize = 16;//字体大小
var columns = canvas.width/fontSize;
// 用于计算输出文字时坐标,所以长度即为列数
var drops = [];
//初始值
for(var x = 0; x < columns; x++){
drops[x] = 1;
}
function draw(){
//让背景逐渐由透明到不透明
ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
//文字颜色
ctx.fillStyle = '#0F0';
ctx.font = fontSize + 'px arial';
//逐行输出文字
for(var i = 0; i < drops.length; i++){
var text = texts[Math.floor(Math.random()*texts.length)];
ctx.fillText(text, i*fontSize, drops[i]*fontSize);
if(drops[i]*fontSize > canvas.height || Math.random() > 0.95){
drops[i] = 0;
}
drops[i]++;
}
}
setInterval(draw, 33);//列刷新时间,就是雨下落速度
</script>
</body>
</html>
使用方法:
新建一个txt文件,将上述代码复制进去,之后保存为后缀为.html的文件,双击打开就看到效果了
//----------------------------------------------------------------------------------------------------------
现在我们改造下一些:
var texts = ‘0123456789’.split(’’);//输出文字内容
var fontSize = 16;//字体大小
setInterval(draw, 33);//列刷新时间,就是雨下落速度
修改调试成
var texts = ‘吕佶璟 ‘.split(’’);//输出文字内容
var fontSize = 14;//字体大小
setInterval(draw, 80);//列刷新时间,就是雨下落速度
效果
下载360浏览器,设置里F11是全屏
发现高度不够,原因是
window.innerWidth/Height => 获取浏览器可视区域宽/高度
原代码:
canvas.height = window.innerHeight;
canvas.width = window.innerWidth;
他在自己获取当前浏览器的可视宽度和高度,而显示的
我们对他直接改值,查询显示器分辨率是1440*900,
修改为
canvas.height = 900;
canvas.width = 1440;
此时再保存到html文件,用360浏览器打开,按F11全屏,就不会下面没有显示了。