Виджет "Диалог"!
Доброго времени суток!) Недавно написал свой скрипт диалоговых окон, на основе своего собственного фреймворка (который писал в целях закрепелия знаний) Хочу продемонстрировать: http://syntax-js.net.ru/dialog/demo.html
Документация по настройке будет позже, но код самого плагина простой - кому надо и так поймёт =) P.S если кто-то захочет поюзать, буду тока рад) Архив с исходниками тут. |
Так то всё хорошо, только глюк есть, если окно переместить за пределы окна браузера его потом естественно достать невозможно. На это проверку сделай.
|
Там впринципе можно указать чтобы не вытаскивалось за пределы, но так не круто как-то... Vulkan, а как вы эт представляете, типо сделать доп. кнопку чтобы по центру становилось?
|
Ну зачем же, просто если случайно вынести заголовок окна за границы его достать уже невозможно. Лучше сделать границы, чтобы не переносилось за пределы, но это только моё мнение =).
|
Это можно бует прописать в опциях) Я ещё решение придумал: забацал ему в прототип метод center(), чтоб веб-дизайнер мог его на любую кнопку или объект на сайте повесить, тока тогда нужно без затемнения вызывать. Демо обновил.
|
Maxman, да, отлично)
|
Молодец, только написание своего framework-а даёт реальные знания в
javascript. Я делал чуток http://js-coding.narod.ru/ Но мне бы хотелось подойти к написанию framework-а со стороны ООП. |
У меня ООП используется, он на нём и построен)
|
хороший диалог, респект:)
сам собираюсь свой делать, вот теперь есть наглядный пример ;) |
Цитата:
|
B~Vladi, да почему jQuery то? То-что синтаксис - цепочки вызовов, это в каждом фреймворке, а ядро у меня вообще по другому устроенно, и алгоритм добавления методов свой.
|
Цитата:
Я уже давно разрабатываю свой фреймворк. Там от ядра видно только 5-6 методов, из которых только 2 будут часто использоваться программистом, а не 50, как в каждом фреймворке. В любом случае цепочки вызовов тоже имеют право на жизнь, просто хотел увидеть что-нибудь новое :) |
Maxman думаю стоит сбрасывать результат после закрытия окна. т.е. после повторного вызова окна сохраняется результат первого вызова...
Цитата:
Цитата:
|
Maxman я сильно не стал вникать в код, но что сразу бросилось в глаза так это спецсимволы: ¬, °, ¤, §, ~, ^ зачем они, и какие задачи у функции combinator?
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
P.S Я кстати тож фанат Резига :dance: |
Цитата:
|
Цитата:
|
Цитата:
Цитата:
По коду,я заметил несколько нюансов: 1. относительно циклов 2. относительно indexOf(). Также советую обратить внимание на метод search(). 3. относительно outerHTML. По моему __defineGetter__ очень тормознутый, если есть желание можете проверить, к томуже он если мне не изменяет память работает в FF3+ (хотя кто сейчас FF2 пользуется). Плюс есть одно НО: XMLSerializer() в некоторых реализациях, когда тип документа Strict заместо <span></span> возвращает <span />...! Но все-таки как вариант альтернативной реализации: <p id="p"> <span>|</span> </p> <script type="text/javascript"> function outerHTML(node){ return node.outerHTML || ( function(i){ var wrap = document.createElement('div'), context; wrap.appendChild(i.cloneNode(true)); context = wrap.innerHTML; wrap = null; return context; })(node); } alert(outerHTML(document.getElementById('p'))); </script> Смотрим в FF (где-то в лучшем случае добавляется атрибут пространства имен xmlns, а где-то (до FF 3.5 элемент приводится к XML нотации)) <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <head><head> <body> <p id="p"></p> <script type="text/javascript"> (function(node){ return alert(node.outerHTML || new XMLSerializer().serializeToString(node)); }(document.getElementById('p'))); </script> </body> 4. try/catch по мне так лишнии, точнее их желательно условиями заменить, т.к. они вроде бы прожорливы. 5. обратите внимание на метод getElementsByClassName(). 6. в фунции combinator if-ы лучше заменить на switch, т.к. он быстрей будет |
monolithed, спасибо за замечания. Но вообще в этой теме я хотел показать тока диалог. Про фреймворк лучше открыть отдельную тему... Тока сначала допишу документацию к нему.
|
Ещё написал плагин Resize: http://syntax-js.net.ru/resize.htm
Хотел добавить к окну. Надеюсь кто-нить посморит, вдруг баги какие обнаружатся... ) |
Maxman, отличный плагин, только вот одно но, немного трудновато подхватить область чтобы ресайзить див.
|
Цитата:
S("selector").resizable({ thick: 5 }); // будет 5 пикселей Ну документации конечно пока нет... на днях напишу, залью на сайт свой. |
Maxman, если надо, для сайта - есть хост
|
B~Vladi, мне бы он не помешал... а то на ucoz'е приходится хоститься. Если вы считаете проект интересным, буду оч рад переехать туда :) Где эт можно обсудить?
|
В скайпе. В профиле указан.
|
Добавил ресайз, появились баги и поддержка ИЕ пропала( Щас обновил. Эх... буду дорабатывать :)
|
дайте исходник, плиз
|
Часовой пояс GMT +3, время: 01:06. |