Цитата:
|
так получается что вывод каждой строки откладывается на 1 секунду, но по сути между выводом строк интервал остаётся тоже.
|
Ну ты же думай, что делаешь. В функцию setTimeout первым аргументом надо передавать либо другую функцию-коллбек, либо строку с кодом, а ты отправляешь результат console.log(), это во-первых. Во-вторых, setTimeout не задерживает выполнение кода, а устанавливает то, что должно выполниться через некоторое время. У тебя выходит одномоментная инициализация трех таймеров по циклу, которые так же одномоментно выполнятся через одну секунду.
<span id="indicator"></span>
<script>
(function(maxDots) {
var indicator = document.getElementById("indicator");
var step = 0;
setInterval(function() {
indicator.innerHTML = (new Array((step++ % maxDots) + 2)).join("*");
}, 1000);
})(3);
</script>