Автор Тема: Please wait... или Надо до, а оно после.  (Прочитано 2778 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Please wait... или Надо до, а оно после.
« : 13 Августа 2003, 03:23:06 »
По событию onClick происходит длительная обработка iframe.innerHTML. На время этой обработки надо бы вывести "Please wait..." в теле основного документа или, скажем, сделать присвоить style.cursor = \'wait\'. Проблема: какое бы действие я не прописал в onClick, результат его виден только после обработки. А мне надо до.
Пример.


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

Ну и как с этим бороться?

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Please wait... или Надо до, а оно после.
« Ответ #1 : 13 Августа 2003, 11:21:30 »
Где-то так:




[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Please wait... или Надо до, а оно после.
« Ответ #2 : 14 Августа 2003, 03:18:57 »
mike
Спасибо. Попробую. То есть я делаю все то же, только с задержкой в одну миллисекунду. А в чем вообще предпосылки подобнго поведения? Почему, чтобы сохранить поседовательность выполнения, нужно сделать задержку в одну миллисекунду? И тогда точно ли одной хватит? Или просто воспринимать это как жизненную реалию, не понимать, но верить?

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Please wait... или Надо до, а оно после.
« Ответ #3 : 14 Августа 2003, 11:44:50 »
Цитировать
dub:
А в чем вообще предпосылки подобнго поведения? Почему, чтобы сохранить поседовательность выполнения, нужно сделать задержку в одну миллисекунду? И тогда точно ли одной хватит? Или просто воспринимать это как жизненную реалию, не понимать, но верить?

Внутренней кухни браузеров не знаю, но из опыта: дело в том, что браузер не отрисует изменения, пока не завершится выполнение функции. А после того, как задается таймаут, выполнение функции заканчивается, документ отрисовывается, и потом начинается выполнение кода по таймауту.
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн dub

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 236
  • +0/-0
  • 0
    • Просмотр профиля
    • http://binartis.com/
Please wait... или Надо до, а оно после.
« Ответ #4 : 14 Августа 2003, 16:30:51 »
mike
М-да, в общих чертах, ясненько. Работает. Спасибо еще раз.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28