Показать сообщение отдельно
  #1 (permalink)  
Старый 20.03.2014, 11:56
Новичок на форуме
Отправить личное сообщение для vychmat Посмотреть профиль Найти все сообщения от vychmat
 
Регистрация: 20.03.2014
Сообщений: 3

Блокирование интерфейса. Добавление нового элемента
Добрый день!

Суть проблемы: есть некий интерфейс, по нажатию определенной кнопки происходит добавление новых полей и полный ререндеринг всех элементов. Поскольку элементов на вкладке очень много, этот процесс занимает продолжительное время. Это не правильно и в ближайшее время будет переделано, но речь сейчас не об этом.
Необходимо сделать блокировку интерфейса на время, пока происходит перестроение страницы: стандартный прозрачный блок поверх страницы с "Пожалуйста, подождите".
Как я пробовал это реализовать:
1. jquery-плагин $.blockUi();
2. Добавление блокируещего div'a на страницу и show() его, когда необходимо.
3. Создание div'a в скрипте и $("body").append() его, когда необходимо.

Проблема в том, что блокировка, в любом случае, срабатывает после ререндеринга. То есть, по нажатию кнопки запускается функция, которая добавляет блокирующий div на страницу, а затем запускает добавление элементов и ререндеринг вкладки, а в результате по нажатию кнопки интерфейс зависает (ререндеринг), потом появляются новые элементы, а потом срабатывает уже никому не нужная блокировка.

Может кто-нибудь подсказать, с чем это связано и как его бороть?
Ответить с цитированием