溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用JS實(shí)現(xiàn)酷炫代碼雨特效

發(fā)布時(shí)間:2023-01-03 10:06:26 來源:億速云 閱讀:127 作者:iii 欄目:開發(fā)技術(shù)

這篇“如何使用JS實(shí)現(xiàn)酷炫代碼雨特效”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何使用JS實(shí)現(xiàn)酷炫代碼雨特效”文章吧。

效果:

如何使用JS實(shí)現(xiàn)酷炫代碼雨特效

代碼:

<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>流星雨</title>
		<meta name="keywords" content="關(guān)鍵詞,關(guān)鍵字">
		<meta name="description" content="描述信息">
		<style>
			body {
				margin: 0;
				overflow: hidden;
			}
		</style>
	</head>
	<body>
		<!--
			<canvas>畫布 畫板 畫畫的本子
		-->
		<canvas width=400 height=400  id="canvas"></canvas>
 
		<script>
			//獲取畫板
			//doccument 當(dāng)前文檔
			//getElement 獲取一個(gè)標(biāo)簽
			//ById 通過Id名稱的方式
			//var 聲明一片空間
			//var canvas 聲明一片空間的名字叫做canvas
			var canvas = document.getElementById("canvas");
			//獲取畫板權(quán)限 上下文
			var ctx = canvas.getContext("2d");
			//讓畫板的大小等于屏幕的大小
			/*
				思路:
					1.獲取屏幕對(duì)象
					2.獲取屏幕的尺寸
					3.屏幕的尺寸賦值給畫板
			*/
			//獲取屏幕對(duì)象
			var s = window.screen;
			//獲取屏幕的寬度和高度
			var w = s.width;
			var h = s.height;
			//設(shè)置畫板的大小
			canvas.width = w;
			canvas.height = h;
 
			//設(shè)置文字大小 
			var fontSize = 14;
			//計(jì)算一行有多少個(gè)文字 取整數(shù) 向下取整
			var clos = Math.floor(w/fontSize);
			//思考每一個(gè)字的坐標(biāo)
			//創(chuàng)建數(shù)組把clos 個(gè) 0 (y坐標(biāo)存儲(chǔ)起來)
			var drops = [];
			var str = "qwertyuiopasdfghjklzxcvbnm";
			//往數(shù)組里面添加 clos 個(gè) 0
			for(var i = 0;i<clos;i++) {
				drops.push(0);
			}
 
			//繪制文字
			function drawString() {
				//給矩形設(shè)置填充色
				ctx.fillStyle="rgba(0,0,0,0.05)"
				//繪制一個(gè)矩形
				ctx.fillRect(0,0,w,h);
 
				//添加文字樣式
				ctx.font = "600 "+fontSize+"px 微軟雅黑";
				//設(shè)置文字顏色
				ctx.fillStyle = "#00ff00";
 
				for(var i = 0;i<clos;i++) {
					//x坐標(biāo)
					var x = i*fontSize;
					//y坐標(biāo)
					var y = drops[i]*fontSize;
					//設(shè)置繪制文字
					ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);
					if(y>h&&Math.random()>0.99){
						drops[i] = 0;
					}
					drops[i]++;
				}
					
			}
			//定義一個(gè)定時(shí)器,每隔30毫秒執(zhí)行一次
			setInterval(drawString,30);
		</script>
	</body>
</html>

以上就是關(guān)于“如何使用JS實(shí)現(xiàn)酷炫代碼雨特效”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

js
AI