vakorovin
@vakorovin
Разработчик

Jquery ui dialog — Кто как использует?

В проекте используется достаточно много диалоговых окон, и везде представляю окно как div, скрытый изначально, который при определенном событии становится диалогом. А сейчас смотрю на шаблоны страниц (использую Smarty) и все больше подумываю о том, что размер страницы можно уменьшить вдвое, убрав скрытые диалоги и перенеся их создание в js. Гуру, подскажите, как более грамотно создавать диалоговые окна?
  • Вопрос задан
  • 9756 просмотров
Пригласить эксперта
Ответы на вопрос 4
dudeonthehorse
@dudeonthehorse
Email Developer
$(document)
.on("click", "#openModal", function() {
     $("body").append('<div id="shadow" style="position:absolute; top:0; left:0; width:100%; height:100%; background:#000; opacity:.5;"></div>').append('<div id="modal"><button id="closeModal">Close Modal</button></div>');
     $("#modal").load("file.html");
})
.on("click", "#closeModal", function() {
     $("#modal").remove(); 
     $("#shadow").remove();
})


Для #modal указать необходимые стили и абсолютное позиционирование.
Ответ написан
Если содержимое диалога довольно динамично и его структура не очень сложна — лучше генерить через js, если он неодноразовый и статичный — можно и скрытым сделать. Тут надо в каждом конкретном случае смотреть.
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Можно делать даже лучше. Например генерировать на JS при первом обращении, в дальнейшем скрывать/проявлять по мере необходимости. Это исключит постоянные манипуляции с DOM и код страницы останется чистым.
Либо для еще большего ускорения генерировать контейнер модального окна заранее, скажем в момент DOM-ready. А потом уже использовать, пряча контейнер либо в display:none, либо в координаты -9999px.
Ответ написан
Комментировать
Moor
@Moor
Взгляните на alertify.js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы