Показать сообщение отдельно
  #5 (permalink)  
Старый 02.11.2014, 10:31
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
так получается что вывод каждой строки откладывается на 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>

Последний раз редактировалось Erolast, 02.11.2014 в 10:40.
Ответить с цитированием