Изменение 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". Яваскриптом болею недавно, так что не серчайте. Если можно объясните, пожалуйста, как быть в таких случаях или можно кинуть ссылкой на какую нибудь умную статью. Заранее спасибо свем откликнувшимся ;) |
странно как то парсер работает. не раскрасил первые строки функции %)
или может я что не так сделал? |
джаваскрипт отрабатывает намного быстрее, чем может отрисоваться изменение. Поэтому, если надо выводить что-то постепенно. то надо применять setTimeout или setInterval
|
мне это все нужно для рисования прогресса. получается что я должен буду разбить мою функцию на части и выполнять их последовательно по частям?
|
ага
|
Это очень желательно сделать еще и потому, что браузер залипает при длинном цикле, а потом начинает задавать вопросы, навроде "скрипт зациклился - отключать?(да/нет)".
|
мда.... серкрет счастья оказывается не совсем так прост как я думал :(
а жаль.... |
собственно почему я взялся за такой вариант реализации: с самого начала я решил что во время исполнения моего скрипта юзеру будет показываться анимированный гиф имитирующий прогресс, НО ....... умнее всех как всегда оказался Internet Explorer. При выполнении сколько-нибудь продолжительного скрипта все анимированные гифы на страничке замирают. Причем только в осле. что с этим делать и если ли решения данной проблемы не смог найти. Может здесь что-нибудь слышали по этой теме?
|
тебе уже сказали решение...
|
про решение я уже понял. в последнем посте я просто поинтересовался по поводу проблемы в осле с гифами.
|
Часовой пояс GMT +3, время: 15:01. |