Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Диалоговые окна (https://javascript.ru/forum/misc/49775-dialogovye-okna.html)

lammeR 27.08.2014 22:28

Диалоговые окна
 
Привет всем.
Есть 12 диалоговых окон dialog() от jquery ui. Есть меню, состоящее из 2 - 12 пунктов, количество пунктов в меню определяется 1 раз при загрузке страницы php-скриптом. Каждый пункт меню запускает своё диалоговое окно. Если пунктов в меню 12, то доступны все 12 диалоговых окна, если пунктов 2 - 2 диалоговых окна и тд. Так вот проблема в том, что я не знаю как хранить диалоговые окна и подключать их ровно столько сколько в данный момент пунктов меню.
Создавать заранее заготовленных 12 скрытых блоков в странице не хотелось бы и подключать нужное кол-во к jquery dialog(), так как они достаточно крупные и зачем хранить так много если может быть пунктов всего 2. Подскажите дельное решение.:cray:

Erolast 28.08.2014 07:49

Диалоговые окна однообразны? Так храни на странице всего одно с установленным стилевым свойством display на block, а при нажатии на пункт меню делай следующее:
var dialog = $("#dialog_blank").clone(true).dialog();

lammeR 28.08.2014 11:43

Erolast, нет, размеры и данные разные, более того ещё и обработчиков куча). В общем решил траблу так:
храню все диалоговые окна в виде строковых шаблонов, типа
templates = {
    tmpl1: "<div>{{data.title}}</div>"
}
затем через фабрику рендерю шаблоны и подключаю к плагину диалогового окна.


Часовой пояс GMT +3, время: 04:01.