| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Блокировка страницы |
| Автор: DeamonShan 23.9.2010, 14:49 |
| Здрасти. Я вот никак не могу понять (разбирал много готовых кодов), как страница блокируется када модальное окно открывается в виде слоя. Кпримеру, если кто сидит вконтактах, если открыть видеролик, то на новом слое открывается плеер на этой же странице и фон (сама страница) становится неактивной, то есть там все видно, но выделить, нажатьна ссылку не получится. Как это делается? В страницу включен jQuery. А задача: при аякс запросе $.post() пока не выполнился запрос, блокировать страницу и показать картинку в центре окна, типа, "идет загрузка..." Как такую задачу решить? |
| Автор: ksnk 23.9.2010, 14:59 |
Запустить в Хроме и посмотреть внимательно на "серую муть", которая появляется поверх всех остальных элементов. Просто поверх всех элементов выводится прозрачный или полупрозрачный див, а поверх него уже рисуется нужный диалог. |
| Автор: ksnk 23.9.2010, 15:48 | ||
Обычно такой слой называется оверлей. пример можно посмотреть http://jqueryui.com/demos/dialog/#modal там, кстати, и стырить полосатый заливочный фончик - не грех ;) Если делать оверлей серым и полупрозрачным - получится "серая муть". Так как все события , которые не приходят непосредственно диалогу доставляются до этого оверлея, то ниже его никакие события уже не будут доходить - полный эффект блокировки странички. Вот только табуляцию нужно бы тоже блокировать, от особенно хитрых юзеров. |
| Автор: DeamonShan 23.9.2010, 15:58 |
| ksnk, блин, так слой этот на все окно растягивается значт!? Че я сам не додумался до этого))) Спасибо...плюс! |
| Автор: DeamonShan 24.9.2010, 13:07 |
| Вопрос такой. Как лучше? оверлей динамически вызывать (overley.appentto("body")) и уничтожать (overley.remove()) или же лучше подгружать невидимый слой со страницей? |