не исполнять дальнейший код пока не сработает timeout
Добрый день.
Моя задача: Вывести на экран строку, но не моментально, а по буквам. Хотелось бы сделать это в цикле с использованием timeout для задержки вывода каждой следующей буквы. Есть ли в javascript возможность задерживать выполнение дальнейшего кода до срабатывания timeout? |
dannogo,
а вы без цикла представьте :write: |
И вам хорошего настроения
<div id="data"></div> <script> (function () { var str = 'Привет форум JavaScript', len = str.length, i = 0, tId, runtxt = (function () { tId = setInterval(function () { data.innerHTML += str[i++]; if (i == len) clearInterval(tId); }, 300); }()); }()); </script> |
в моем случае setInterval не подойдет. У меня есть план Б. Просто хотел узнать, нет ли возможности задерживать код до срабатывания setTimeout.
Спасибо за ответы |
dannogo,
нету. только засунуть его в ф-ю и вызвать по таймауту |
var a = 'word'; function writeWord(a){ var i = 0; function d(i){ alert(a[i]); i++; if (i<a.length) setTimeout(function(){d(i)},1000); } d(i); } writeWord(a); |
Часовой пояс GMT +3, время: 12:56. |