Jquery всплывающее диалоговое окно. Делаем всплывающее окно jquery


3. Пример модального окна jQuery, вызванного по ссылке (с Демо)

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

Создаём простое всплывающее модальное окно Приступим к рассмотрению кода простейшего модального окна, которое будет сразу появляться
jQuery код


$(document).ready(function()
{
alert("Текст во всплывающем окне");
});

Код вставляете в любое место в body Вашей страницы. Сразу после загрузки страницы, без каких-либо команд, Вы увидите окно следующего вида:


А вот следующий код будет выполняться после загрузки всей страницы в браузер. В нашем примере после загрузки страницы с изображениями выскочит простое всплывающие окошко:


$(window).load(function()
{
alert("Загрузка страницы завершена!)");
});

Вызов модального окна jQuery по ссылке с CSS Следующим шагом будет создание модального окна при нажатии по ссылке. Фон при этом будет медленно затемняться.


Часто можете видеть, что форма входа и регистрации находятся именно в таких окнах. Приступим к делу

Для начала напишем html-часть . Этот код размещаем в body Вашего документа.

Вызов модального окна



Текст модального окна
Закрыть
Текст в модальном окне.


Код CSS . Либо в отдельном css-файле, либо в в head.


body {
font-family:verdana;
font-size:15px;
}
.link {color:#fff; text-decoration:none}
.link:hover {color:#fff; text-decoration:underline}
#mask {
position:absolute;
left:0;
top:0;
z-index:9000;
background-color:#000;
display:none;
}
#boxes .window {
position:absolute;
left:0;
top:0px;
-top: 40px;
width:440px;
height:200px;
display:none;
z-index:9999;
padding: 20px;
overflow: hidden;
}
#boxes #dialog {
width:375px;
height:203px;
padding:10px;
background-color:#ffffff;
}
.top {
position:absolute;
left:0;
top:0;
width:370px;
height:30px;
background: #0085cc;
padding: 8px 20px 6px 10px;
}
.close {
float:right;
}
.content {
padding-top: 35px;
}

В коде jQuery основное внимание уделим позиции модального окна и маске, в нашем случае постепенному затемнению фона.

Внимание! Не забываем подключить библиотеку в head документа!


Подключение библиотеки с сайта Google. Ну и непосредственно сам код jQuery.

Код jQuery


$(document).ready(function() {
$("a").click(function(e) {
e.preventDefault();
var id = $(this).attr("href");
var maskHeight = $(document).height();
var maskWidth = $(window).width();
$("#mask").css({"width":maskWidth,"height":maskHeight});
$("#mask").fadeIn(1000);
$("#mask").fadeTo("slow",0.8);
var winH = $(window).height();
var winW = $(window).width();
$(id).css("top", winH/2-$(id).height()/2);
$(id).css("left", winW/2-$(id).width()/2);
$(id).fadeIn(2000);
});
$(".window .close").click(function (e) {
e.preventDefault();
$("#mask, .window").hide();
});
$("#mask").click(function () {
$(this).hide();
$(".window").hide();
});
});

Модальные окна используются, чтобы отображать дополнительный контент в новом слое страницы (окне) поверх загруженного контента. Модальные окна также называют модальными диалогами, всплывающими диалогами, всплывающими окнами, диалоговыми блоками или модальными блоками. В большинстве случаев для создания модальных окон используется jQuery.

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

Плагины jQuery для модальных окон

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

На многих веб-сайтах вы также можете найти форму входа, форму обратной связи или любой другой вид формы, загружающейся в виде модального окна. Другой вариант использования модальных окон – загрузка в нём Google Maps , чтобы пользователи могли кликнуть и указать место на карте.

  • Likno Web Modal Windows Builder — это не только плагин. Это мощное WYSIWYG приложение (визуальный интерфейс с множеством опций), которое даёт вам возможность создавать любые виды модальных окон jQuery . Самое потрясающее, что вам не нужно знать ничего об исходном коде. Приложение создаёт весь код за вас. Поэтому даже если вы новичок или профессиональный программист, который хочет быстро создать много проектов, Likno Web Modal Windows Builder удовлетворит все ваши потребности.

  • fancyBox

    fancyBox – это плагин, который предлагает красивый и элегантный способ добавить функционал приближения для картинок, HTML и мультимедиа контента на ваши веб-страницы. Он построен на основе популярной JavaScript библиотеки jQuery и лёгок в установке и настройке.

  • Magnific Popup

    Magnific Popup — это удобный в работе плагин jQuery lightbox , сосредоточенный на производительности. Его главная цель – обеспечить удобство работы на любом устройстве.

  • bPopup

    bPopup — это небольшой по объёму плагин jQuery для всплывающих окон. Он не позволяет вам создать или стилизовать ваше собственное всплывающее окно, зато предоставляет всю логику, например, центрирование, модальное перекрытие, события и многое другое. Плагин даёт вам много возможностей для настройки, так что он, несомненно, вам понравится.

  • Twitter Bootstrap Modal

    Twitter Bootstrap modal – плагин для Twitter bootstrap . Он подойдёт для создания модальной функциональности веб-приложения (например, модальной формы) и замены базовой функциональности, предоставляемой стандартными функциями JavaScript alert(), confirm(), и prompt() .

  • Lightview

    Lightview позволяет вам легко создавать красивые всплывающие окна, используя JavaScript библиотеку jQuery .Lightview использует HTML5 , чтобы помочь вам предоставить наиболее удобные условия пользователям любых браузеров. Вы можете усовершенствовать ваш медиа-контент автоматически или создавать всплывающие окна на ваш вкус, используя мощный API на языке JavaScript .

  • Pop Easy

    Pop Easy — это небольшой по объёму плагин jQuery , который должен иметь каждый разработчик, чтобы легко создавать модальные окна. Он сфокусирован на важнейших элементах: добавление маски на вашу страницу и открытие всплывающего модального окна.

  • Colorbox

    Небольшой по объёму плагин jQuery lightbox . Он поддерживает работу с фотографиями, группировку, слайдшоу, AJAX, inline-контент и контент, заключённый в тег iframe. Отображение контролируется посредством CSS, поэтому оно может быть полностью перепроектировано. Функциональность плагина также может быть расширена при помощи callback-функций и функций, привязанных к событиям, поэтому вам не придётся изменять исходные файлы. Colorbox принимает настройки от объекта из пар ключ/значение и может быть привязан к любому элементу HTML.

  • modalPopLite

    Это супер-лёгкий по объёму, супер-простой плагин jQuery для модальных диалогов.Он поддерживает плавное исчезновение и скруглённые углы. Он очень прост в установке и использовании. У него нет сложных деталей. Просто быстрое, лёгкое, но эффективное диалоговое окно.

  • SimpleModal от Эрика Мартина

    SimpleModal — небольшой по объёму плагин jQuery , который предоставляет мощный интерфейс для разработки модальных диалоговых окон. Считайте его фреймворком для модальных диалогов. SimpleModal даёт вам гибкость в построении всего, что вы сможете себе представить, в то же время защищая вас от проблем кросс-браузерности, связанных с разработкой пользовательского интерфейса.

  • Заключение

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

    Перевод статьи “Top 10 jQuery Plugins for Modal Windows ” был подготовлен дружной командой проекта .

    Это легкое JQuery модальное всплывающее окно плагина (только 1.49KB). Скрипт не создает и не стилизует всплывающее окно, но предоставляет вам всю логику центрирования, модального наложения, события и многого другого. Это дает вам много возможностей для настройки, что будет соответствовать вашим потребностям.

    2. Messi

    Это плагин JQuery, чтобы показать чистоту, элегантность сообщения. С Месси, вы избежите использования значения по умолчанию, уведомления о тревоге или новых окон, чтобы обеспечить расширенную информацию для пользователя.

    3. Shadowbox.js

    Стандартное приложение просмотра, которое поддерживает все самые популярные форматы веб-издательских средств массовой информации.

    4. jQuery Impromptu

    Расширение, чтобы помочь обеспечить более приятный способ спонтанно побудить пользователя для входа. Более или менее это отличная замена для оповещений.

    Demo

    Плагин для JQuery, чтобы помочь вам отображать уведомления, диалоги, и модальные окна в веб-браузере.

    Demo

    6. Colorbox – a jQuery lightbox

    Легкий настраиваемый лайтбокс плагин для jQuery

    Demo

    Обеспечивает быстрый способ показать данные без перезагрузки страницы.

    Demo

    8. jQuery Speedo Popup

    Маленький, мощный и настраиваемый JQuery Popup / модальный плагин. Построенный на HTML5 и CSS3.

    Demo

    9. Boxy

    Гибкое диалоговое окно, Facebook стиль для JQuery с поддержкой перетаскивания и размера промежуточных кадров. Он отличается от других накладок, которые я видел, предоставляя интерфейс объекта для управления диалоговыми окнами после того как они были созданы.

    Легкий JQuery плагин, который обеспечивает мощный интерфейс для окна. Думайте о нем, как о модальный окне.

    Demo

    11. Smooth Popup

    Как создать потрясающее и большое всплывающее окно с нуля, используя JQuery в простом и чистом уроке …

    Demo

    12. Exit Modal Box

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

    Demo

    13. jQuery BlockUI Plugin

    Позволяет моделировать синхронное поведение при использовании AJAX, без блокировки браузера. При его включении будет препятствовать активности пользователей со страницы (или части страницы), пока она не будет отключена. BlockUI добавляет элементы в DOM, чтобы дать ему внешний вид и поведение блокирующих взаимодействия с пользователем.

    Demo

    14. Tickbox (depracated)

    Виджет пользовательского интерфейса веб-страницы написаны на JavaScript в верхней части библиотеки JQuery. Его функция заключается в том, чтобы показать одно изображение, несколько изображений, встроенный контент, iframed содержание или содержание подается через AJAX в гибридной форме.

    17. Simple jQuery Modal

    Создать модальное окно используя Jquery

    18. Likno Web Modal Windows Builder

    Likno Web Builder является мощным WYSIWYG программным обеспечение для создания потрясающих JQuery модальных окон, диалоговых окон, модальных слайд-шоу, всплывающих окон и т.д. Приложение создает весь код, необходимый для того, чтобы не требовались навыки программирования. Все результаты кросс-браузерны, для CMS и для устройств.

    В статье о создание модального окна на css мы разобрали что такое модальное окно и зачем оно нужно. А так же создали окно используя только css. В этой статье я опишу как создать модальное окно javascript. А конкретнее мы будем для создания использовать библиотеку jquery.

    И так начнём создавать модальное окно на jquery. Для усложнения задачи поставим такое условие. Нам нужно будет создать адаптивное модальное окно. А адаптивность будет заключаться в том, что окно при уменьшении размера экрана то же будет уменьшаться. Адаптивное модальное окно jquery начнём создавать с html разметки.

    Жми здесь! X Заказать звонок

    С кодом я думаю всё понятно. Имеем оболочку.wraper, где находится контент нашего сайта. Есть кнопка вызова модального окна с идентификаторм gowindow, само окно с ид modal_window и перекрывающий слой myoverlay. Напишем теперь css стили.

    Wraper { width: 100%; margin: auto; width: auto;/*то же что и 100%*/ max-width: 960px;/*максимальная ширина обёртки*/ border: 1px solid #000; background-color: #F5F9FB; } .button{ /*-------*/ } #modal_window { width: 34%;/*для адаптивности*/ height: 300px; border-radius: 10px; border: 3px #fff solid; background: #e0e0e0; margin-top: -30%; margin-left: 33%; display: none; opacity: 0; /*полная прозрачность для анимации */ z-index: 5000; /*окно должно быть верхним слоем*/ padding-top: 20px; text-align: center; position: relative; } #modal_window #window_close { width: 21px; height: 21px; position: absolute; top: 10px; right: 10px; cursor: pointer; display: block; } #myoverlay { z-index: 3000; /*выше всех слоёв но ниже окна */ position: fixed; /*для перекрытия сайта*/ background-color: #000; opacity: 0.5; width: 100%; height: 100%; /*полностью на экран */ top: 0; left: 0; cursor: pointer; display: none; }

    Опишем css код. Блок.wraper задаём адаптивным, он меняется от размера экрана но не более 960px. Код кнопки показывать не буду. Ширину окна #modal_window задаём в процентах, ширина будет зависеть от ширины.wraper. Для центровки окна задаём марджин 33%. Он расчитывается так 50%-17%, где 17% половина ширины окна. Скрываем окно свойствами display: none и opacity: 0. С кодом #window_close и #myoverlay я думаю всё ясно. Давайте теперь напишем код для jquery. Будем считать что jqery уже подключена.

    $(document).ready(function() { $("#gowindow").click(function(){//клик по кнопке $("#myoverlay").fadeIn(400, //показываем перекрывающий слой function(){ $("#modal_window") .css("display", "block") //делаем окно видимым.animate({opacity: 1, top: "50%"}, 200); //увеличиваем прозрачность, окно плавно съезжает }); }); /* убираем окно */ $("#window_close, #myoverlay").click(function(){ //нажатие по перекрывающему слою или кресту $("#modal_window") .animate({opacity: 0, top: "45%"}, 200, //вкл прозрачность, окно идёт вверх function(){ $(this).css("display", "none"); //делаем окно невидимым $("#myoverlay").fadeOut(400); //убираем слой перекрытие }); }); });

    Js код я думаю в объяснении не нуждается, так как я его достаточно хорошо прокомментировал. На этом я думаю всё, так что подведём итоги. Мы сделали простое адаптивное модальное окно jquery

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

    В данном посту мы рассмотрим пример, как сделать модальное простое окно с помощью JQuery и CSS. Особенность данного примера в том, что тут не требуется , ну за исключением самой библиотеки JQuery.

    Размещаем код модального окна на странице:

    закрыть Открыть модальное окно

    Как видно из разметки, блок самого модального окна это div c атрибутом id=modal_form , который содержит элемент span c id=modal_close . Этот элемент будет служить кнопкой для закрытия модального окна, кроме того, ниже блока расположен блок div с атрибутом id=overlay , который служит одновременно и для затемнения фона. Модальное окно будет открываться по ссылке, с классом modal .

    CSS для модального окна

    #modal_form { width: 300px; height: 300px; border-radius: 5px; border: 3px #000 solid; background: #fff; position: fixed; top: 45%; left: 50%; margin-top: -150px; margin-left: -150px; display: none; opacity: 0; z-index: 5; padding: 20px 10px; } #modal_form #modal_close { width: 21px; height: 21px; position: absolute; top: 10px; right: 10px; cursor: pointer; display: block; } #overlay { z-index:3; position:fixed; background-color:#000; opacity:0.8; -moz-opacity:0.8; filter:alpha(opacity=80); width:100%; height:100%; top:0; left:0; cursor:pointer; display:none; }

    Для modal_form мы задали фиксированную ширину и высоту, а затем отцентрировали положение по центру экрана. Для подложки модального окна (overlay ) мы задаем размер по ширине экрана, заливку с прозрачностью, а так же прячем её по умолчанию. Особый момент с z-index , у модального окна он должен быть наибольшим из всех элементов на странице, а у обложки должен быть больше всех элементов, кроме самого модального окна.

    Теперь к самому основному, это код на javascript. Для модального окна будет использоваться два основных события, это его открытие — клик по элементу с классом modal , в нашем случае это ссылка, и закрытие модального окна, это клик по обложке (overlay ), либо клик на кнопку закрыть, в нашем случае это элемент span с id=modal_close .

    $(document).ready(function() { $(".modal").click(function(event){ event.preventDefault(); $("#overlay").fadeIn(400, // анимируем показ обложки function(){ // далее показываем мод. окно $("#modal_form") .css("display", "block") .animate({opacity: 1, top: "50%"}, 200); }); }); // закрытие модального окна $("#modal_close, #overlay").click(function(){ $("#modal_form") .animate({opacity: 0, top: "45%"}, 200, // уменьшаем прозрачность function(){ // пoсле aнимaции $(this).css("display", "none"); // скрываем окно $("#overlay").fadeOut(400); // скрывaем пoдлoжку }); }); });

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