Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: Wolf от 14 Февраля 2003, 03:04:27

Название: Как сделать задержку цикла???
Отправлено: Wolf от 14 Февраля 2003, 03:04:27
С помощью какой функции можно сделать задержку выполнения цикла for? Пробовал сделать с помощью setTimeout, но она задерживает выполнение требуемого оператора, а цикла - нет.
Название: Как сделать задержку цикла???
Отправлено: Mog. от 14 Февраля 2003, 12:34:12
Решение "в лоб"
воткни в цикл еще один цикл, типа
for ( x = 0; x < y; x++){}
и регулировкой величины "y" ищи требуемое время задержки. Не самый лучший способ
Название: Как сделать задержку цикла???
Отправлено: mike от 14 Февраля 2003, 13:25:25
Еще одно решение: переписать цикл с использованием дополнительной функции и setTimeout. Что-то вроде:

var maxI = 200;
var i = 0;
CycleFor();

function CycleFor( ) {
  if (i <= maxI)
  {
    //action
    //end of action
    i++;
    setTimeout(\'CycleFor()\', 100);
  }
}
Название: Как сделать задержку цикла???
Отправлено: Wolf от 15 Февраля 2003, 01:30:34
Да... До рекурсивного вызова функции для обеспечения задержки я не додумался. Спасибо огромное!!!