я ваш код не очень понял, написал чуть по-другому
<body>
<div>.</div>
<script>
function typeText(elem, text) {
var i = 0;
var stop = false;
var si = setInterval(function() {
if(text.length === i) clearInterval(si);
else {
if(elem.textContent)
elem.textContent += text[i];
else if(elem.innerText)
elem.innerText += text[i];
}
i++;
}, 408);
}
var div = document.getElementsByTagName("div")[0];
typeText(div, "ololo ololo lololo lolo");
</script>
</body>
Поставил в <div> точку, потому что не выводит textContent в пустой div. Подскажите кто-нибудь, почему?