Comment Comment by karteum For simple matrix-like effects, I use <canvas id="matrix" style="display:block; position: fixed; top: 0; left: 0; z-index: -100;"></canvas> <script type="text/javascript"> var matrix = document.getElementById("matrix"); var matrix_ctx = matrix.getContext("2d"); var mletters = "01" var font_size = 10; matrix_ctx.font = font_size + "px arial"; matrix.height = window.innerHeight; matrix.width = window.innerWidth; var columns = Math.floor(matrix.width/font_size); var lines = matrix.height/font_size; var drops_reinit_threshold = 0.975; // lower value means more frequent reinit and therefore more drops var drops_y = Array(columns).fill(1); function draw() { matrix_ctx.fillStyle = "rgba(10, 10, 10, 0.04)" matrix_ctx.fillRect(0, 0, matrix.width, matrix.height); matrix_ctx.fillStyle = "#050"; // green text for(var i = 0; i<columns; i++) { var letter = mletters[Math.floor(Math.random()*mletters.length)]; if (drops_y[i]*font_size <= matrix.height) matrix_ctx.fillText(letter, i*font_size, drops_y[i]*font_size); else if(Math.random() > drops_reinit_threshold) drops_y[i] = 0; drops_y[i]++; } } for(var x = 0; x < 2*lines; x++) draw(); setInterval(draw, 35); </script> parent karteum 4 years ago