:: Не фоксом единым
JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
Emil Revencu
Автор

Сообщений: 298
Дата регистрации: 25.11.2002
Internet Explorer 11:
Добавляется елемент в тело BODY, потом идет пауза.
Почему елемент до паузы не высвечивается на странице?
Как показать этот елемент до выполнении функции SLEEP?
<html>
<body id="body">
<button onclick="testfunction()">test</button>
</body>
</html>
<script language="javascript" type="text/javascript">
function testfunction()
{
var modal = document.createElement("div");
modal.id='wait_alert'
modal.style.position='fixed';
modal.style.top='50%';
modal.style.left='50%';
modal.style.marginTop='-25px';
modal.style.marginLeft='-150px';
modal.style.width='300px';
modal.style.height='50px';
modal.style.background='#eeeeee';
modal.innerHTML='My message ...';
modal.style.fontSize ='16px';
modal.style.paddingTop ='10px';
modal.style.textAlign ='center';
modal.style.border='1px #aaaaaa solid';
document.body.appendChild(modal)
modal.style.visibility='visible';
modal.style.display='block';
sleep(5000);
}
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
</script>


------------------
Skype: Revencu
Ratings: 0 negative/0 positive
Re: JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Потому что такая парадигма. Может вы еще с ним что-то делаете, зачем его отрисовывать? Повесьте на него обработчик события onLoad, если хотите что-то сделать после появления.
Ratings: 0 negative/0 positive
Re: JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
Emil Revencu
Автор

Сообщений: 298
Дата регистрации: 25.11.2002
Далее идёт какая-то обработка. Мне нужно высветить во время обработки сообщение на начало выполнения и на конец выполнения.
SLEEP функция - это пример как замена выполнения другой задачи (конкретно это activex).


------------------
Skype: Revencu
Ratings: 0 negative/0 positive
Re: JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
Emil Revencu
Далее идёт какая-то обработка. Мне нужно высветить во время обработки сообщение на начало выполнения и на конец выполнения.
SLEEP функция - это пример как замена выполнения другой задачи (конкретно это activex).
Собственно, совет от этого не меняется. Вешаете свой долгий обработчик на onLoad вашего div'а. В нём же div успешно прибиваете.

PS. Вру. У DIV нет onload. Но мысль должна быть понятна.



Исправлено 1 раз(а). Последнее : pasha_usue, 16.11.16 10:50
Ratings: 0 negative/0 positive
Re: JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
Emil Revencu
Автор

Сообщений: 298
Дата регистрации: 25.11.2002
Можете дать пример?


------------------
Skype: Revencu
Ratings: 0 negative/0 positive
Re: JAVASCRIPT DOM: Добавленный елемент динамически не отрисовывается во время выполнении скрипта (IE)
GotFocus

Сообщений: 1191
Откуда: Из-за угла
Дата регистрации: 30.11.2010
...............................
...............................
...............................
document.body.appendChild(modal)
modal.style.visibility='visible';
modal.style.display='block';
setTimeout(func, 1); // Символически ждём 1 мс и уходим в func
}
function func()
{
sleep(5000);
var modal = document.getElementById('wait_alert');
modal.remove(); // remove в IE не работает. Искать замену влом.
}



Исправлено 2 раз(а). Последнее : GotFocus, 16.11.16 23:58
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика