您好,登錄后才能下訂單哦!
這篇“如何用JS實現代碼雨特效”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“如何用JS實現代碼雨特效”文章吧。
html代碼
<canvas id="code_rain_canvas" width="1440" height="900"></canvas>
js 代碼
window.onload = function() { //獲取畫布對象 var canvas = document.getElementById("code_rain_canvas"); //獲取畫布的上下文 var context = canvas.getContext("2d"); var s = window.screen; var W = canvas.width = s.width; var H = canvas.height; //獲取瀏覽器屏幕的寬度和高度 //var W = window.innerWidth; //var H = window.innerHeight; //設置canvas的寬度和高度 canvas.width = W; canvas.height = H; //每個文字的字體大小 var fontSize = 12; //計算列 var colunms = Math.floor(W / fontSize); //記錄每列文字的y軸坐標 var drops = []; //給每一個文字初始化一個起始點的位置 for (var i = 0; i < colunms; i++) { drops.push(0); } //運動的文字 var str = "WELCOME TO WWW.ITRHX.COM"; //4:fillText(str,x,y);原理就是去更改y的坐標位置 //繪畫的函數 function draw() { context.fillStyle = "rgba(238,238,238,.08)"; //遮蓋層 context.fillRect(0, 0, W, H); //給字體設置樣式 context.font = "600 " + fontSize + "px Georgia"; //給字體添加顏色 context.fillStyle = ["#33B5E5", "#0099CC", "#AA66CC", "#9933CC", "#99CC00", "#669900", "#FFBB33", "#FF8800", "#FF4444", "#CC0000"][parseInt(Math.random() * 10)]; //randColor();可以rgb,hsl, 標準色,十六進制顏色 //寫入畫布中 for (var i = 0; i < colunms; i++) { var index = Math.floor(Math.random() * str.length); var x = i * fontSize; var y = drops[i] * fontSize; context.fillText(str[index], x, y); //如果要改變時間,肯定就是改變每次他的起點 if (y >= canvas.height && Math.random() > 0.99) { drops[i] = 0; } drops[i]++; } }; function randColor() { //隨機顏色 var r = Math.floor(Math.random() * 256); var g = Math.floor(Math.random() * 256); var b = Math.floor(Math.random() * 256); return "rgb(" + r + "," + g + "," + b + ")"; } draw(); setInterval(draw, 35); };
展示效果:
以上就是關于“如何用JS實現代碼雨特效”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。