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

溫馨提示×

溫馨提示×

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

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

利用JavaScript畫布實現代碼下墜效果

發布時間:2020-11-09 15:08:36 來源:億速云 閱讀:231 作者:Leah 欄目:開發技術

利用JavaScript畫布實現代碼下墜效果?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

效果圖

利用JavaScript畫布實現代碼下墜效果

完整代碼

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    *{
      padding:0;
      margin:0;
    }
    body{
      overflow: hidden;
    }
  </style>
</head>
<body>
    <canvas id="mom" ></canvas>
  <script>
   window.onload = function(){
    //獲取畫布對象
    var canvas = document.getElementById("mom");
    //獲取畫布的上下文
    //getContext() 方法返回一個用于在畫布上繪圖的環境。
    var context =canvas.getContext("2d");
    //獲取瀏覽器屏幕的寬度和高度
    var W = window.innerWidth;
    var H = window.innerHeight;
    //設置canvas的寬度和高度
    canvas.width = W;
    canvas.height = H;
    //每個文字的字體大小
    var fontSize = 16;
    //計算列
    var colunms = Math.floor(W /fontSize);
    //記錄每列文字的y軸坐標
    var drops = [];
    //給每一個文字初始化一個起始點的位置
    //計算每一個文字所謂坐標 存儲y軸的坐標 
    for(var i=0;i<colunms;i++){
      drops.push(0);
    }
    //運動的文字
    var str ="JavaScript function(){}";
    //4:fillText(str,x,y);原理就是去更改y的坐標位置
    //繪畫的函數
    function draw(){
      context.fillStyle = "rgba(0,0,0,0.05)";
      //fillRect() 方法繪制“已填色”的矩形。默認的填充顏色是黑色。
      context.fillRect(0,0,W,H);
      //給字體設置樣式
      context.font = "700 "+fontSize+"px 微軟雅黑";
      //給字體添加顏色
      context.fillStyle ="#00cc33";//可以rgb,hsl, 標準色,十六進制顏色
      //寫入畫布中
      for(var i=0;i<colunms;i++){
        var index = Math.floor(Math.random() * str.length);//設置文字出發時間隨機 Math.floor(Math.random()*str.length)讓數組里面的文字索引隨機出現 
        var x = i*fontSize;
        var y = drops[i] *fontSize;//也讓y軸方向也向下掉一個文字的距離
        context.fillText(str[index],x,y);
        // //如果要改變時間,肯定就是改變每次他的起點
        if(y >= canvas.height && Math.random()>0.99){
          drops[i] = 0;
        }
        drops[i]++;//讓數組里面的值每次加一,用于上面的y軸下掉 
      }
    };
    //隨機顏色
    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,20);
  };
  </script>
</body>
</html>

看完上述內容,你們掌握利用JavaScript畫布實現代碼下墜效果的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

中方县| 东乌| 高唐县| 南丹县| 彰武县| 周至县| 吴川市| 和静县| 龙江县| 弥渡县| 白沙| 梨树县| 青州市| 赫章县| 乌拉特前旗| 琼结县| 哈巴河县| 星座| 永年县| 朝阳县| 凤城市| 乌拉特中旗| 长汀县| 昌邑市| 河池市| 南澳县| 黄山市| 五原县| 鹤庆县| 金门县| 花莲县| 平江县| 城市| 隆回县| 山丹县| 南溪县| 长子县| 渝北区| 馆陶县| 牙克石市| 扶绥县|