matrix

    
      
  • /*
     * @title matrix
     * @javascript_url
     * @description my bookmarklet
     * @include http://*
     * @license MIT License
     * @require 
     */
    
    (function() {                                                                                                                                                                                                                                                                    
      let q = document.createElement('canvas');                                                                                                                                                                                                                                      
      document.body.appendChild(q);                                                                                                                                                                                                                                                  
      let s=window.screen;                                                                                                                                                                                                                                                           
      let w=q.width=s.width;                                                                                                                                                                                                                                                         
      let h=q.height=s.height;                                                                                                                                                                                                                                                       
      let p=Array(256).join(1).split('');                                                                                                                                                                                                                                            
      let c=q.getContext("2d");                                                                                                                                                                                                                                                      
      let m=Math;                                                                                                                                                                                                                                                                    
      q.style.height = `${document.body.scrollHeight}px`;                                                                                                                                                                                                                            
      q.style.position = 'absolute';                                                                                                                                                                                                                                                 
      q.style.top = '0';                                                                                                                                                                                                                                                             
      let opacity = 0;                                                                                                                                                                                                                                                               
      let inc = true;                                                                                                                                                                                                                                                                
      setInterval(() => {                                                                                                                                                                                                                                                            
        c.fillStyle="rgba(0,0,0,0.05)";                                                                                                                                                                                                                                              
        c.fillRect(0,0,w,h);                                                                                                                                                                                                                                                         
        c.fillStyle="rgba(0,255,0,1)";                                                                                                                                                                                                                                               
        if (inc) {                                                                                                                                                                                                                                                                   
          opacity += 10;                                                                                                                                                                                                                                                             
          q.style.opacity = `${opacity/100}`;                                                                                                                                                                                                                                        
          if (opacity >= 100) {                                                                                                                                                                                                                                                      
            inc = false;                                                                                                                                                                                                                                                             
          }                                                                                                                                                                                                                                                                          
        } else {                                                                                                                                                                                                                                                                     
          opacity -= 10;                                                                                                                                                                                                                                                             
          q.style.opacity = `${opacity/100}`;                                                                                                                                                                                                                                        
          if (opacity <= 0) {                                                                                                                                                                                                                                                        
            inc = true;                                                                                                                                                                                                                                                              
          }                                                                                                                                                                                                                                                                          
        }                                                                                                                                                                                                                                                                            
        p=p.map((v,i) => {                                                                                                                                                                                                                                                           
          let r=m.random();                                                                                                                                                                                                                                                          
          c.fillText(String.fromCharCode(m.floor(2720+r*33)),i*10,v);                                                                                                                                                                                                                
          v+=10;                                                                                                                                                                                                                                                                     
          return v>768+r*1e4?0:v                                                                                                                                                                                                                                                     
        })                                                                                                                                                                                                                                                                           
      },33);                                                                                                                                                                                                                                                                         
    }())
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2017/01/27 16:20:25 - 2017-01-27
  2. 2017/01/27 15:19:12 - 2017-01-27
  3. 2017/01/27 15:15:57 - 2017-01-27
  4. 2017/01/27 15:12:19 - 2017-01-27