HTML+JS"코드 비"효과 원본(매트릭스 문자 낙하 효과)구현

HTML+JS 가'코드 비'를 실현 하 는 최종 효 과 를 살 펴 보 겠 습 니 다.
1.녹색:

2.컬러:

3.배경 색:

4.녹색 이 점점 옅 어 집 니 다.

원본 코드:

<!DOCTYPE html>
<html>
  
<head> 
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
 <title>Code -by ZhenYu.Sha</title>
 <style type="text/css">
  html, body {
   width: 100%;
   height: 100%;
  }
  body {
   background: #000;
   overflow: hidden;
   margin: 0;
   padding: 0;
  }
 </style>
</head>
  
<body> 
<canvas id="cvs"></canvas>
<script type="text/javascript">
 var cvs = document.getElementById("cvs");
 var ctx = cvs.getContext("2d");
 var cw = cvs.width = document.body.clientWidth;
 var ch = cvs.height = document.body.clientHeight;
 //      
 var requestAnimationFrame = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;
 var codeRainArr = []; //     
 var cols = parseInt(cw / 14); //     
 var step = 16;  //  ,              
 ctx.font = "bold 26px microsoft yahei"; //    ,        
 
 function createColorCv() {
  //      
  ctx.fillStyle = "#242424";
  ctx.fillRect(0, 0, cw, ch);
 }
 
 //     
 function createCodeRain() {
  for (var n = 0; n < cols; n++) {
   var col = [];
   //    ,           
   var basePos = parseInt(Math.random() * 300);
   //     3~13  
   var speed = parseInt(Math.random() * 10) + 3;
   //   x       
   var colx = parseInt(Math.random() * cw)
 
   //    
   var rgbr = 0;
   var rgbg = parseInt(Math.random() * 255);
   var rgbb = 0;
   //ctx.fillStyle = "rgb("+r+','+g+','+b+")"
 
   for (var i = 0; i < parseInt(ch / step) / 2; i++) {
    var code = {
     x: colx,
     y: -(step * i) - basePos,
     speed: speed,
     // text : parseInt(Math.random()*10)%2 == 0 ? 0 : 1 //    0  1
     text: ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "s", "t", "u", "v", "w", "x", "y", "z"][parseInt(Math.random() * 11)], //            
     color: "rgb(" + rgbr + ',' + rgbg + ',' + rgbb + ")"
    }
    col.push(code);
   }
   codeRainArr.push(col);
  }
 }
 
 //      
 function codeRaining() {
  //      
  ctx.clearRect(0, 0, cw, ch);
  //        
  //createColorCv();
  for (var n = 0; n < codeRainArr.length; n++) {
   //   
   col = codeRainArr[n];
   //   ,       
   for (var i = 0; i < col.length; i++) {
    var code = col[i];
    if (code.y > ch) {
     //             
     code.y = 0;
    } else {
     //    
     code.y += code.speed;
    }
    
    //1        
    //ctx.fillStyle = "hsl("+(parseInt(Math.random()*359)+1)+",30%,"+(50-i*2)+"%)"; 
 
    //2       
    // ctx.fillStyle = "hsl(123,80%,"+(30-i*2)+"%)"; 
 
    //3     
    // var r= 0;
    // var g= parseInt(Math.random()*255) + 3;
    // var b= 0;
    // ctx.fillStyle = "rgb("+r+','+g+','+b+")";
 
    //4    
    ctx.fillStyle = code.color;
 
 
    //      
    ctx.fillText(code.text, code.x, code.y);
   }
  }
  requestAnimationFrame(codeRaining);
 }
 
 //     
 createCodeRain();
 //      GO>>
 requestAnimationFrame(codeRaining);
</script>
  
</body>
</html>
본 고 는 주로 HTML+JS 가'코드 비'효 과 를 실현 하 는 소스 코드 를 소개 하 였 으 며,JS 효과 에 대해 서 는 아래 의 관련 링크 를 보십시오.

좋은 웹페이지 즐겨찾기