Javascript.RU

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

Изменение innerHTML в цикле %)
Добрый день

у меня есть кусок кода
<html>

<head>

<title></title>

<script type="text/javascript" language="javascript">
    function forit()
    {
        document.getElementById("www").innerHTML = "Beginning";
        for (var i = 0; i < 5000; i++)
        {
            document.getElementById("www").innerHTML = i;
        }
        document.getElementById("www").innerHTML = "Ending";
    }
</script>
</head>

<body>
<span id="www"></span>

<input type="button" value="click" onclick="forit()"/>
</body>

</html>


Будучи наивным по соей природе, я подумал что значение иннерХТМЛ будет меняться в цикле и будет видно сразу же, а в итоге получается что мы увидим только "Ending". Яваскриптом болею недавно, так что не серчайте. Если можно объясните, пожалуйста, как быть в таких случаях или можно кинуть ссылкой на какую нибудь умную статью.

Заранее спасибо свем откликнувшимся
Ответить с цитированием
  #2 (permalink)  
Старый 24.12.2008, 15:39
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

странно как то парсер работает. не раскрасил первые строки функции %)
или может я что не так сделал?
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2008, 15:45
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

джаваскрипт отрабатывает намного быстрее, чем может отрисоваться изменение. Поэтому, если надо выводить что-то постепенно. то надо применять setTimeout или setInterval
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2008, 15:58
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

мне это все нужно для рисования прогресса. получается что я должен буду разбить мою функцию на части и выполнять их последовательно по частям?
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2008, 16:08
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

ага
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2008, 16:09
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Это очень желательно сделать еще и потому, что браузер залипает при длинном цикле, а потом начинает задавать вопросы, навроде "скрипт зациклился - отключать?(да/нет)".
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2008, 16:11
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

мда.... серкрет счастья оказывается не совсем так прост как я думал
а жаль....
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2008, 16:26
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

собственно почему я взялся за такой вариант реализации: с самого начала я решил что во время исполнения моего скрипта юзеру будет показываться анимированный гиф имитирующий прогресс, НО ....... умнее всех как всегда оказался Internet Explorer. При выполнении сколько-нибудь продолжительного скрипта все анимированные гифы на страничке замирают. Причем только в осле. что с этим делать и если ли решения данной проблемы не смог найти. Может здесь что-нибудь слышали по этой теме?
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2008, 16:48
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

тебе уже сказали решение...
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2008, 16:53
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

про решение я уже понял. в последнем посте я просто поинтересовался по поводу проблемы в осле с гифами.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
ошибка с innerHTML Gekt0r Общие вопросы Javascript 15 21.08.2008 11:57