var arr var obj function text(parameter) { var typewriter = { str: parameter.str || $(parameter).text(), effect: parameter.effect || "upBig", speed: parameter.speed || 40, } arr = []; for (var i = 0; i < typewriter.str.length; i++) { arr[i] = typewriter.str[i]; } // console.log(arr); var num = 0; obj = setInterval(function () { var randomN = Math.floor(Math.random() * 4) + 1; var eff = null; if (randomN === 1) { eff = "fadeInRightBig"; } if (randomN === 2) { eff = "fadeInLeftBig"; } if (randomN === 3) { eff = "fadeInUpBig"; } if (randomN === 4) { eff = "fadeInDownBig"; } if (typewriter.effect === "normal") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "rightBig") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "right") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "leftBig") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "left") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "downBig") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "down") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "upBig") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "up") { $("#text").append('' + arr[num] + ''); } else if (typewriter.effect === "random") { $("#text").append('' + arr[num] + ''); } num++ if (num === arr.length) { clearInterval(obj); } }, typewriter.speed); }