Проблема с выводом. 
		
		
		
		
NextIter: function() {
		this.TextIn.innerHTML = '';
		if (this.Iter == this.endIter) { this.End(); };
		for (var abc in this.textArr[this.Iter]) {
				this.Write(this.textArr[this.Iter][abc]);//Должен вывести 1 знак из строки
                                console.log(this.textArr[this.Iter][abc]);
				sleep(100);//Работает правильно, функция отдельно
		};
		this.Iter++;
	},
Write: function(letter) {
		this.TextIn.innerHTML += letter;
	}
В идеале - должен выводить предложение по 1 знаку в 100мс, и в консоли так и есть. Однако текст на самой странице не обновляется, пока не закончится цикл for. Как это решить?  | 
	
		
 SecretBabka, 
	Попробуйте поменять местами функции NextIter и Write (а вообще трудно сказать, не видя полного текста)  | 
	
		
 Dilettante_Pro, oт перемены мест слагаемых, как говорится. 
	Если есть пара минут на чтение, напишите мне вк id330113396  | 
	
		
 SecretBabka, 
	От перемены мест зависит определенность функций в момент исполнения - я же и говорю, что трудно судить, не видя полный текст. В вк не состою, со временем туго Вообще функции, используемые в других функциях, лучше размещать раньше  | 
	
		
 Dilettante_Pro, 
	Всё это дело находится в классе, вот в более понятном виде, результат тот же: В чистом html 
<div id="text"></div>
<script>
var TextIn = document.getElementById("text");
var Iter = 0;
var textArr = ["Bla-Bla","Abl-Abl"];
function sleep(ms) {
ms += new Date().getTime();
while (new Date() < ms){}
};
function Write (letter) {
	TextIn.innerHTML += letter;
};
function NextIter() {
		TextIn.innerHTML = '';//Обнуляем текстовое поле
		for (var abc in textArr[Iter]) {
				Write(textArr[Iter][abc]);//Выводим по 1 букве каждые 100мс
				sleep(100);
		};
		Iter++;
};
</script>
Как вариант - пробовал не просто писать текст в div, а создавать для каждой буквы span, и открыл окно разработчика(Chrome). В итоге создаётся span во время цикла, но на самой странице отображается _после_ цикла.  | 
	
		
 Цитата: 
	
 тогда даже for не нужен будет, для выполнения вашей задачи ... увидите setInterval закройте закройте глаза и пропустите текст, :) вам нужен только setTimeout  | 
	
		
 печатная машинка 2016 
		
		
		
		SecretBabka, :)  
	
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
	<div></div>
	<script>
	 function typeText(d, g, h, e) {
    var a, b, f = performance.now();
    requestAnimationFrame(function k(c) {
        if (!b || !b.length)
            if (b = g.shift()) a = document.createElement("br"), d.appendChild(a), a = document.createTextNode(""), d.appendChild(a), b = b.split("");
            else {
                e && e();
                return
            }
        c = (c - f) / h;
        1 < c && (c = 1);
        1 == c && (f = performance.now(), a.data += b.shift());
        requestAnimationFrame(k)
    })
};
		var div = document.getElementsByTagName("div")[0];
		typeText(div, ["ololo ololo lololo lolo","всяка фигня","Вы прочитали это важное сообщение"], 100, function() {
     alert("УРА!!!");
});
	</script>
</body>
</html>
 | 
	
		
 рони, 
	Функцию sleep() я задал выше, и она корректно работает сама по себе. Но спасибо, пришлось во многом поменять код, с интервалом работает.  | 
	
		
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 08:05. |