您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JavaScript中canvas實現代碼雨效果的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
本文實例為大家分享了canvas實現代碼雨效果的具體代碼,供大家參考,具體內容如下
先看效果圖
這個效果圖是不是像極了以前電影里面的黑客技術,看起來蠻難的,其實操作起來還是挺簡單的。
canvas其實就是畫布的意思
首先我們得有一個畫布
<body> <canvas id="canvas"></canvas> </body>
再設這樣一個背景
HTML部分
<body> <canvas id="canvas"></canvas> <div></div> </body>
CSS部分
<style> *{ margin: 0; padding: 0; } #canvas{ overflow: hidden; position: absolute; z-index: 1; } div{ width: 480px; height: 280px; border-radius: 50%; background-image: url(img/第八天素材.jpg); position: absolute; top: calc(50% - 140px); left: calc(50% - 240px); z-index: 2; opacity: 0.4; } </style>
后面就是JS部分
一個畫布,一個畫筆,還有給畫布一個寬高
<script> var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); var width = window.innerWidth; var height = window.innerHeight; canvas.height = height; canvas.width = width; </script>
詳細代碼如下:
<script> var canvas = document.getElementById("canvas"); var context = canvas.getContext("2d"); var width = window.innerWidth; var height = window.innerHeight; canvas.height = height; canvas.width = width; //設置一個 字體大小的變量 var fontsize = 16; //設置一個變量用來存放 一整行能夠同時容納多少個字 var count = width/fontsize; console.log(count); //創建一個數組 用來存放字的 var arr = []; for(var i = 0; i < count; i++){ arr.push(0); console.log(arr); } //用數組的方式 存放數據 var stringarr = "I Love You" function show(){ //開始畫畫 context.beginPath(); context.fillRect(0,0,width,height); //透明度 context.fillStyle = "rgba(0,0,0,0.05)"; //字體得顏色 context.strokeStyle = "chartreuse"; for( var i =0; i<arr.length; i++ ) { var x = i*fontsize; var y = arr[i]*fontsize; var index = Math.floor(Math.random()*stringarr.length); context.strokeText(stringarr[index],x,y); if( y >=height&&Math.random()>0.99 ){ arr[i]=0; } arr[i]++; } context.closePath(); } show();//調用函數 var timer = setInterval(show,30); </script>
關于“JavaScript中canvas實現代碼雨效果的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。