NicBinc,
<div></div>
<script>
function typeText(l, d, g, h, m) {
var b, a = d.shift(),
f, e = g,
k = performance.now();
d.push(a);
a = a.split("");
b = document.createTextNode(a.shift());
l.appendChild(b);
requestAnimationFrame(function n(c) {
a.length || (a = d.shift(), d.push(a), a = a.split(""), e = h);
c = (c - k) / e;
1 < c && (c = 1);
1 == c && (e == h && (b.data = ""), k = performance.now(),f = a.shift(), f == "*" ? (b.data = b.data.slice(0,-1)): (b.data += f), e = +f != +f ? g : m);
requestAnimationFrame(n)
})
};
var div = document.getElementsByTagName("div")[0];
typeText(div, ["Ехали,ехали, очень долго ******быстро ехали.","всяка фигня ******галиматья ************ий бред сивой кобылы","Вы прочитали это важное *******идиотское сообщение"], 180, 3000, 600);
</script>