Как сделать ссылку на модальное окно

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

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

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

<div id="modal_form"> <span id="modal_close">закрыть</span> </div> <div id="overlay"></div> <a href="#" class="modal">Открыть модальное окно</a>

Как видно из разметки, блок самого модального окна это 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, и с помощью этого получаем интересный эффект. Подобный эффект используется как при открытии окна, так и при его закрытии. Отличие в том, что меняется порядок применения свойств для блоков, тем самым визуализируя открытие и закрытие окна.

Пример работы модального окна.


Источник: http://yournet.kz/blog/js/modalnoe-okno-na-jquery-css



Рекомендуем посмотреть ещё:


Закрыть ... [X]

Модальное окно, модальное окно css, создание модального окна Супер раскраски пони

Как сделать ссылку на модальное окно Javascript - Bootstrap: как сделать прямую ссылку на модальное окно?
Как сделать ссылку на модальное окно Как правильно сделать ссылку для вызова модального окна?
Как сделать ссылку на модальное окно Модальные всплывающие окна с помощью CSS3 без Javascript
Как сделать ссылку на модальное окно Как создать простое модальное окно на CSS ИТ Шеф
Как сделать ссылку на модальное окно Создание простых модальных окон с помощью jQuery
Всплывающее (модальное ) окно на HTML и CSS Создаем модальное окно на HTML 5 и CSS3 Виза в Китай. Инструкция на 2017 год! Впечатления в подарок для чиновника и не только / Коррупция. Нет Интересные факты о словах Музей фактов Как отключить роуминг на Теле 2 - способы отказаться от услуги по России Костюмы птичек - Клуб Сезон Мотивы для декора стразами. Обсуждение на LiveInternet - Российский Пословицы

Похожие новости