Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.09.2008, 15:18
Интересующийся
Отправить личное сообщение для Алекс97 Посмотреть профиль Найти все сообщения от Алекс97
 
Регистрация: 22.08.2008
Сообщений: 11

как отобразить в окне значения счетчика во время выполнения цикла FOR
Собственно, сабж?
document.write, document.inner если сами находятся внутри цикла, то отображают значения ПОСЛЕ выхода из цикла, а мне нужно ВО ВРЕМЯ выполнения.
Такая простая вроде задача, а не могу ничего найти.
Смотрел примеры скриптов нашел только способ с timeOut
неужели это единственный способ решения?
В какую сторону копать?:confused:
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 05.09.2008, 16:37
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Почитайте про innerHTML
Ответить с цитированием
  #3 (permalink)  
Старый 05.09.2008, 17:13
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Да, изменения DOM происходят только по выходу из цикла. Единственное решение - отложенные итерации, или отложенное изменение DOM по таймауту.
Ответить с цитированием
  #4 (permalink)  
Старый 06.09.2008, 01:04
Интересующийся
Отправить личное сообщение для Алекс97 Посмотреть профиль Найти все сообщения от Алекс97
 
Регистрация: 22.08.2008
Сообщений: 11

Сообщение от Андрей Параничев Посмотреть сообщение
Единственное решение - отложенные итерации, или отложенное изменение DOM по таймауту.
Про таймаут я все понял, а вот что такое "отложенные итерации"?
коротенько подсказать что это такое можете?
Буду очень Вам признателен
Спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 06.09.2008, 01:56
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Алекс97,
Это почти тоже самое. Вы можете либо выполнять все итерации цикла по таймауту:
setTimeout(function() {
     // ... код по изменению DOM ...
     if(/* условие продолжения */) setTimeout(arguments.callee, 1);
}, 1)


Либо только часть по изменению DOM выполнять по таймауту внутри цикла for, что часто легче.
Ответить с цитированием
  #6 (permalink)  
Старый 06.09.2008, 10:36
Интересующийся
Отправить личное сообщение для Алекс97 Посмотреть профиль Найти все сообщения от Алекс97
 
Регистрация: 22.08.2008
Сообщений: 11

Сообщение от Андрей Параничев Посмотреть сообщение
Алекс97,
Это почти тоже самое. Вы можете либо выполнять все итерации цикла по таймауту:
setTimeout(function() {
     // ... код по изменению DOM ...
     if(/* условие продолжения */) setTimeout(arguments.callee, 1);
}, 1)


Либо только часть по изменению DOM выполнять по таймауту внутри цикла for, что часто легче.
Спасииибо)))
Будем проббовать!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск