не исполнять дальнейший код пока не сработает 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, время: 07:23. |