中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中canvas實現代碼雨效果的方法

發布時間:2021-06-10 10:20:46 來源:億速云 閱讀:219 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關JavaScript中canvas實現代碼雨效果的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

本文實例為大家分享了canvas實現代碼雨效果的具體代碼,供大家參考,具體內容如下

先看效果圖

JavaScript中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>

JavaScript中canvas實現代碼雨效果的方法

后面就是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實現代碼雨效果的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尼木县| 西贡区| 汝城县| 五原县| 巴林左旗| 松阳县| 巧家县| 滁州市| 汤原县| 台南市| 乌拉特中旗| 大渡口区| 永康市| 鄂尔多斯市| 湘阴县| 广宗县| 澜沧| 山西省| 五莲县| 蒙自县| 延吉市| 绥阳县| 双城市| 青冈县| 金溪县| 彝良县| 西畴县| 偃师市| 海阳市| 明溪县| 延庆县| 东源县| 南通市| 恭城| 宁阳县| 临沭县| 永平县| 石台县| 兴业县| 喀什市| 伊金霍洛旗|