HTML黑客帝國數據瀑布流

代碼如下:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
	<meta charset="UTF-8">
	<title>黑客帝國數據瀑布</title>
	<style>
	body{
		margin:0px;
	}
	#canvas{
		display:block;
	}
	</style>
</head>
<body>
	<canvas id="canvas"></canvas>
	<script>
	var maxHeight=0;	//窗口高度
	var maxWidth=0;		//窗口寬度
	var canvas=null;	//定義畫布
	var arrMess=new Array(256);		//生成256列數據

	/*定義邏輯方法*/
	function $_id(id){
		return document.getElementById(id);
	}

	function random(min,max){
		return (Math.random() * (max - min + 1) | 0) + min;
	}

	/*立即執行函數初始化數據*/
	(function(){
		maxWidth=window.innerWidth;
		maxHeight=window.innerHeight;
		var canvasEle=$_id("canvas");
		canvasEle.width=maxWidth;
		canvasEle.height=maxHeight;
		canvas=canvasEle.getContext('2d');
		var i=arrMess.length;
		while(i--){
			arrMess[i]=random(-500,0);
		}
	})();

	/*進行畫布繪畫*/
	function draw(){
		canvas.fillStyle="rgba(0,0,0,0.05)";
		canvas.fillRect(0,0,maxWidth,maxHeight);
		arrMess.forEach(function(value,index){
			var x=index * 10;
			var text=String.fromCharCode(random(97,122));
			canvas.fillStyle=getColor();
			canvas.fillText(text,x,value);
			arrMess[index]=value>(758 + Math.random()*484) ? 0 : value+10;
		});
	}

	/*定時器刷新*/
	setInterval(draw,60);

	/*獲取隨機顏色*/
	function getColor(){
		return "#"+(function(color){
			return new Array(7 - color.length).join(0) + color;
		})((Math.random() * 0x1000000 | 0).toString(16));
	}

	</script>
</body>
</html>

效果圖如下:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章