Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: dub от 13 Августа 2003, 03:23:06

Название: Please wait... или Надо до, а оно после.
Отправлено: dub от 13 Августа 2003, 03:23:06
По событию onClick происходит длительная обработка iframe.innerHTML. На время этой обработки надо бы вывести "Please wait..." в теле основного документа или, скажем, сделать присвоить style.cursor = \'wait\'. Проблема: какое бы действие я не прописал в onClick, результат его виден только после обработки. А мне надо до.
Пример.


После клика по имаджу все замирает (на время обработки), а потом, как ни в чем не бывало, происходит необходимая смена курсора или innerText блока комментария. Очень мило. "Некоторое время до появления этого комментария Вы должны были подождать..."

Ну и как с этим бороться?
Название: Please wait... или Надо до, а оно после.
Отправлено: mike от 13 Августа 2003, 11:21:30
Где-то так:




Название: Please wait... или Надо до, а оно после.
Отправлено: dub от 14 Августа 2003, 03:18:57
mike
Спасибо. Попробую. То есть я делаю все то же, только с задержкой в одну миллисекунду. А в чем вообще предпосылки подобнго поведения? Почему, чтобы сохранить поседовательность выполнения, нужно сделать задержку в одну миллисекунду? И тогда точно ли одной хватит? Или просто воспринимать это как жизненную реалию, не понимать, но верить?
Название: Please wait... или Надо до, а оно после.
Отправлено: mike от 14 Августа 2003, 11:44:50
Цитировать
dub:
А в чем вообще предпосылки подобнго поведения? Почему, чтобы сохранить поседовательность выполнения, нужно сделать задержку в одну миллисекунду? И тогда точно ли одной хватит? Или просто воспринимать это как жизненную реалию, не понимать, но верить?

Внутренней кухни браузеров не знаю, но из опыта: дело в том, что браузер не отрисует изменения, пока не завершится выполнение функции. А после того, как задается таймаут, выполнение функции заканчивается, документ отрисовывается, и потом начинается выполнение кода по таймауту.
Название: Please wait... или Надо до, а оно после.
Отправлено: dub от 14 Августа 2003, 16:30:51
mike
М-да, в общих чертах, ясненько. Работает. Спасибо еще раз.