Forked from brandonisgreen's Pen Random Letter Effect.
Forked from brandonisgreen's Pen Random Letter Effect.
A Pen by Captain Anonymous on CodePen.
<div id="output"></div> |
Forked from brandonisgreen's Pen Random Letter Effect.
Forked from brandonisgreen's Pen Random Letter Effect.
A Pen by Captain Anonymous on CodePen.
$(document).ready(function(){ | |
var theLetters = "abcdefghijklmnopqrstuvwxyz#%&^+=-"; //You can customize what letters it will cycle through | |
var ctnt = "DeFrost"; // Your text goes here | |
var speed = 50; // ms per frame | |
var increment = 8; // frames per step. Must be >2 | |
var clen = ctnt.length; | |
var si = 0; | |
var stri = 0; | |
var block = ""; | |
var fixed = ""; | |
//Call self x times, whole function wrapped in setTimeout | |
(function rustle (i) { | |
setTimeout(function () { | |
if (--i){rustle(i);} | |
nextFrame(i); | |
si = si + 1; | |
}, speed); | |
})(clen*increment+1); | |
function nextFrame(pos){ | |
for (var i=0; i<clen-stri; i++) { | |
//Random number | |
var num = Math.floor(theLetters.length * Math.random()); | |
//Get random letter | |
var letter = theLetters.charAt(num); | |
block = block + letter; | |
} | |
if (si == (increment-1)){ | |
stri++; | |
} | |
if (si == increment){ | |
// Add a letter; | |
// every speed*10 ms | |
fixed = fixed + ctnt.charAt(stri - 1); | |
si = 0; | |
} | |
$("#output").html(fixed + block); | |
block = ""; | |
} | |
}); |
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> | |
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> |
html,body{ | |
font-family:sans-serif; | |
background-color:#white; | |
} | |
#output{ | |
/* The command I know best. */ | |
text-transform:uppercase; | |
color:#black; | |
font-size:6em; | |
font-weight:bold; | |
text-align:left; | |
} |