Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение innerHTML в цикле %) (https://javascript.ru/forum/misc/2428-izmenenie-innerhtml-v-cikle-%25.html)

Tror 24.12.2008 15:38

Изменение 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". Яваскриптом болею недавно, так что не серчайте. Если можно объясните, пожалуйста, как быть в таких случаях или можно кинуть ссылкой на какую нибудь умную статью.

Заранее спасибо свем откликнувшимся ;)

Tror 24.12.2008 15:39

странно как то парсер работает. не раскрасил первые строки функции %)
или может я что не так сделал?

ZoNT 24.12.2008 15:45

джаваскрипт отрабатывает намного быстрее, чем может отрисоваться изменение. Поэтому, если надо выводить что-то постепенно. то надо применять setTimeout или setInterval

Tror 24.12.2008 15:58

мне это все нужно для рисования прогресса. получается что я должен буду разбить мою функцию на части и выполнять их последовательно по частям?

ZoNT 24.12.2008 16:08

ага

vk65535 24.12.2008 16:09

Это очень желательно сделать еще и потому, что браузер залипает при длинном цикле, а потом начинает задавать вопросы, навроде "скрипт зациклился - отключать?(да/нет)".

Tror 24.12.2008 16:11

мда.... серкрет счастья оказывается не совсем так прост как я думал :(
а жаль....

Tror 24.12.2008 16:26

собственно почему я взялся за такой вариант реализации: с самого начала я решил что во время исполнения моего скрипта юзеру будет показываться анимированный гиф имитирующий прогресс, НО ....... умнее всех как всегда оказался Internet Explorer. При выполнении сколько-нибудь продолжительного скрипта все анимированные гифы на страничке замирают. Причем только в осле. что с этим делать и если ли решения данной проблемы не смог найти. Может здесь что-нибудь слышали по этой теме?

ZoNT 24.12.2008 16:48

тебе уже сказали решение...

Tror 24.12.2008 16:53

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


Часовой пояс GMT +3, время: 15:01.