Диалоговые окна и попапы - обзор jQuery плагинов

Диалоговые окна и попапы - обзор jQuery плагинов

Всем привет! Рад снова быть с вами. Как это, к несчастью, случается, многие мои начинания не доходят до своего логического завершения. Это касается и многих ненаписаных статей — заготовки для которых пылятся уже много месяцев.

Для лени всегда могут найтись достаточно везкие отговорки. Возможно, та же судьба постигла бы и этот пост, но я узнал, что Павел нашел кое-какие фотографии и если я не хочу, чтобы они стали всеобщим достоянием, то стоит дописать-таки статью.

Поэтому сегодня мы с вами будем обзирать кучу плагинов jQuery — диалоговые окна, попапы, jАлерты и так далее. Надеюсь, этот материал попадет в ваши закладки.

Алерт — это диалог или монолог?

Прежде чем мы возьмемся за плагины jQuery, я хочу убедиться что все знают стандартные способы установления диалога с пользователем. Их три. Можно покликать:

Они стандартны и просты — для элементарных задач самое то. Но есть несколько но.

  • Но 1. Их внешний вид нельзя изменить.
  • Но 2. Они блокируют доступ к странице.
  • Но 3. Они слишком просты — даже добавить чекбокс к prompt’у нельзя.
  • Но 4. Насчет чекбоксов.

Не надо сюда кликать

Я понимаю зачем это надо, но, тем не менее, эта галочка сильно усложняет простую форму и заставляет пользователя думать.

Не надо сюда кликать

От этого чекбокса на моем лице появляются микровыражения злости и раздражения а голову навсегда покидает мысль о том, что на сайте такие попапы можно использовать.

Диалоговые и монологовые плагины jQuery

А теперь вернемся к нашей теме. Я только поставлю кофе завариваться, ок?

Fancybox

Так уж получилось, что многие лайтбоксообразные плагины можно использовать для реализации диалогов — загружая не фотографии, а инлайн-контент, ифрэйм или аякс-контент.

Фэнсибокс — хороший пример. Легко настраивается, легко вставляется, успешно протестирован в IE.

Да и последняя, рекомендуемая версия вышла буквально вчера.

Демо Загрузить

FaceBox

Фейсбукообразный лайтбокс. Тоже крайне прост и незатейлив.

Демо Загрузить

Impromtu

Этот плагин расширяет возможности стандартных методов, о которых мы говорили в самом начале. Но не более того.

Демо Загрузить

BlockUI

Вообще говоря, плагин предназначен для того, чтобы блокировать страницу или отдельные элементы на время обработки аякс-запросов.

Но кроме этого, у него есть набор функций, которые могут стать полезны для того, чтобы организовать приятный диалог.

Забыл про кофе. Кипит. Шайсе!

Демо Загрузить

nyroModal

Весьма и весьма функциональный плагин, но документация и презентация сделаны настолько неряшливо, что разбираться с ним не хочется.

Демонстрация и загрузка, все вперемешку

Boxy

Этот плагин очень похож на выше упомянутый FaceBox внешне, но более функциональный.

Посмотреть и скачать

jQPOOOP

Упоминаю этот плагин исключительно для объема и полноты обзора. На самом деле хрень какая-то. Не кликайте, зря потратите время.

Демо Загрузить

ThickBox

Весьма функциональный был модуль, но его поддержка закончилась. Тем не менее он не перестал работать. Инлайн-контент, ифрэйм или картинки — все есть.

Демо Загрузить

Признаюсь, здесь мне уже стало скучно. Не было изюминки в плагинах, которые я находил. Но дальше стало интересно.

ColorBox

Субъективно прекрасен. Уже знаю где его буду использовать.

Демо Загрузить

Ну нельзя не упомянуть jQuery UI:

jQuery UI Dialog

Демо Загрузить

DOM Window

Это для тех, кому попроще.

Демо и загрузка

UPD: SimpleModal

Замечательный плагин, про который я действительно забыл упомянуть.

Спасибо Vect0r.

Демо Загрузить

UPD: jQuery Alert Dialogs

Плагин позволяет заменить стандартные функции alert(), confirm() и prompt().

Спасибо Big_Shark 

Демо Загрузить

UPD: jQuery Tools Overlay

Спасибо Никите и Damien87 за напоминание.

Демо Загрузить

UPD: Humanized Messages

Цитирую описание проекта.

Прозрачные сообщения - дети мозга Джефа раскина. Это большие просвечивающиеся сообщения, которые показываются поверх контента. Оно исчезает когда пользователь начинает что-нибудь делать (двигать мышкой или стучать по клавишам). Такое сообщение одновременно заметное и ненавязчивое. А так как оно полупрозрачное, то всегда можно видеть, что находится под ним.

Спасибо Александру Шевлякову.

Демо Загрузить

Последний плагин напомнил мне про еще некоторые ненавязчивые плагины для нотификэйшнс:

Без jQuery, пожалуйста

Знаю два решения, написанных на чистом js. Оба просят денег для коммерческого использования. Буду признателен, если читатели подкинут еще.

Shadowbox.js

Это не плагин, а самостоятельное решение. Есть все и все можно поменять.

Для коммерческого использования шэдоубокс платен.

Стоимоть для одного разработчика 20у.е., для множественного — 50 у.е.

Посмотреть, купить, загрузить

Highslide.js

Не менее функциональное решенее.

Для коммерческого использования на одном сайте стоит 30у.е., безлимитное использование — 180 у.е.

Посмотреть, купить, загрузить

 

Всем спасибо за внимание.

Расскажите друзьям

Оцените статью:
  • 1
  • 2
  • 3
  • 4
  • 5

Комментарии — 35

mr47
Ну как по мне я использую только ThickBox. Во первых не большой размер, во вторых весь нужный функционал есть. Ну как еще варианты это : BlockUI, Light Box (только старый он не такой огромный)
#
mr47
Vect0r
Как-то Вы не упомянули SimpleModal (http://www.ericmmartin.com/projects/simplemodal/) на jQuery
Big_Shark
я для алертов использую http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/
а для поп-апов nyroModal
Александр
При слове «обзирать» представляется никак не обзор:) Может «обозревать»? А за статью спасибо.
#
Александр
Никита
Ну и jQuery Tools http://flowplayer.org/tools/index.html
#
Никита
Demien87
В проэкте также использую jQuery Tools. Весьма полезный плагин. Все что нужно в нем есть. Вот пример окошек http://flowplayer.org/tools/overlay.html
#
Demien87
Евгений
Обновил статью. Спасибо всем, кто помог ее дополнить.
Shimon
A mne po dushe prishelsya prettyPopin - uzhe pochti god pol'zuus im.
Кира
Fancybox взяла себе. Полезный плагинчик :)
Аттракти
Проверяйте поведение плагина при открытии фото крупнее разрешения экрана - часто кнопка закрытия становится не видна, и обычный пользователь вынужден закрывать все окно. Также проверяйте производительность - на не core2duo (нетбуки, старые ноутбуки) эффекты затемнения неприятно тормозят.
vsko
За год перебрал этих решений боксов очень много.
Изначально нужно было для галерей. Затем понадобилось и inline с ajax и iframe.
Выбор сужался, приходилось "фиксить" некоторые под свои проекты.
Сейчас остановился на colorbox. Шикарный плагин и внешний вид можно гибко менять и набор апи достаточный. В общем для меня на сегодняшний день это лучшее решение оказалось.
#
vsko
Кирилл
а есть что-нибудь чтоб можно было сворачивать,развертывать,изменять размер?
#
Кирилл
Evgenij
свернуть-развернуть нигде не видел, но ресайз есть в jQuery UI и Hightslide JS
Xdezzz
jQPOOOP там в тексте ошибка: зря потратите, а у вас потртатите. Исправьте пожалуйста.
#
Xdezzz  
Кирилл
ColorBox всем хорош, но не работает на некоторых версиях Оперы, в т.ч. совсем новых... не может выйти из стадии "load"...(
#
Кирилл
Евгений
Зачем? ЗАЧЕМ? Зачем зачем зачем зачем?
Так же надо кликать кнопку "да". Так же недоступен контент. Крайне никого не волнующий дизайн. Но при этом ждать пока все это чудо отдуплиться.
#
Евгений
NarKoZ
Спасибо, отличная подборка!
unel
пардон за некропостинг, но что если требуется использовать результат диалога дальше, а до ответа блокировать страницу, как это делает confirm? есть ли подобные плагины?...
#
unel  
unel
З.Ы. не страницу блокировать, а выполнение скрипта
#
unel  
miXOnIN
Evgenij [t]
свернуть-развернуть нигде не видел, но ресайз есть в jQuery UI и Hightslide JS

есть такое))
админка ucoz, конкрус модальных окошек на vkontakte и т.п.
и вот своё сворачивание сейчас делаю
#
miXOnIN
miXOnIN
+ вот со сворачиванием http://habrahabr.ru/blogs/jquery/95337/
#
miXOnIN
Tyler
вот еще неплохая штука http://dev.iceburg.net/jquery/jqModal/#examples
#
Tyler  
yerke
Привет всем
какой попап или лайт бокс использовать для того чтобы нормально работали
формы, где сабмит обрабатывается с помощью php.
#
yerke
Vect0r
Любой.
Использую Simple Modal. Можно использовать colorbox.
Myroslav
Пробовал использовать подобное для просмотра видеоролика на сайте, а потом отказался.
alexey
Попробуйте мой плагин. Легко сконфигурить с помощью CSS, есть поддержка панелей. Проверте: http://jqplug.appspot.com/plugins/dialog-layout/demo
sofcase
По поводу Humanized Messages, могу еще посоветовать свой плагин jNotifier.
kvins
спс как раз нашел плагин для alert
#
kvins
веб дизайн -ер
Вспользовался тут на досуге jQuery UI Dialog, но вот грабли - необходимо сделать резиновую кнопку собственного вида и чтоб в ИЕ6 нормально выглядела, а из доступных к стилизации тегов только :( Как расширить конструкцию и изменить диз кнопок?
Андрей
Подскажите пожалуйста, что делать, чтобы такое окно, например, как colorbox, открывалось не при нажатии на кнопку, а само при входе на сайт?
#
Андрей
Дмитрий
Нужно определить colorbox не на событие "click" а на событие "ready" или еще лучше на событие "load", тогда будет срабатывать при полной загрузке страницы.
#
Дмитрий
Дмитрий
^)
#
Дмитрий
Григорий
Народ выручайте как можно сделать как у этого сайта http://ymka.tv/publ/zarubezhnye_teleserialy/doktor_kto_serial_1_6_sezony/2-1-0-54 видео чтоб нажал на серию и она включалась

Новый комментарий

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler