Инструменты пользователя

Инструменты сайта


bootstrap_modal_window

Работаем с Bootstrap плагином: Модальные Окна

Любезно взято с Ruseller

Сегодня мы продолжим разговор о Bootstrap. На этот раз затронем тему плагинов.

Но сразу, демо и исходники

Как было отмечено в предыдущей статье, Bootstrap поставляется не только с готовыми CSS стилями, но также с целым набором jQuery плагинов. Таким образом, нам не нужно пользоваться какими-то сторонними плагинами.

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

Подключение библиотек

Т.к. все Bootsrap плагины являются плагинами, работающими на jQuery, нам в первую очередь, нужно подключить данный фрэймворк:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Теперь можем подключать Bootstrap:

<link rel="stylesheet" href="css/bootstrap.css">
<script src="js/bootstrap.js" type="text/javascript"></script>

Модальное окно

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

Для того чтобы сделать обычный div блок модальным окном, ему нужно присвоить класс modal. Также мы можем контролировать наличия таких элементов, как заголовок и контент, путём добавления классов modal-body и modal-header.

<div id="modal" class="modal">
    <div class="modal-header">
        <h2>Lorem Ipsum</h2>
    </div>
    <div class="modal-body">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec placerat sem ipsum, ut faucibus nulla.
        Nullam mattis volutpat dolor, eu porta magna facilisis ut. In ultricies, purus sed pellentesque mollis, nibh
        tortor semper elit, eget rutrum purus nulla id quam.</p>
    </div>
</div>

Данный код - это просто html представление, которое вы можете увидеть ниже:

Контроль появления модального окна

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

<div id="modal" class="modal hide">
    <div class="modal-header">
        <h2>Lorem Ipsum</h2>
    </div>
    <div class="modal-body">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        Donec placerat sem ipsum, ut faucibus nulla. Nullam mattis volutpat
        dolor, eu porta magna facilisis ut. In ultricies, purus sed pellentesque
        mollis, nibh tortor semper elit, eget rutrum purus nulla id quam.</p>
    </div>
</div>

Теперь можно добавить и кнопку:

<a href="#modal" role="button" class="btn" data-toggle="modal">Click Me</a>

Тут прошу обратить ваше внимание на HTML5 атрибут data-toggle, где мы прописываем id блока модального окна.

Ну а теперь, чтобы активировать плагин, добавляем js скрипт:

$('document').ready(function(){
    $('#modal').modal();
});

Теперь, при нажатии на кнопку мы получим примерно такое отображение модального окна:

Кнопка закрытия

После того как наше модальное окно появилось, может возникнуть вопрос: как же его скрыть? Можно просто кликнуть за пределы окна, а можно добавить специальную кнопку, чем мы и займёмся. Для этого добавим элемент button в div модального окна:

 <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 

К данному элементу мы также добавили атрибут, начинающийся на data- для фокусирования кнопки на модальном окне. Это собственно всё, что нужно сделать, чтобы данная кнопка срабатывала.

Эффект затухания

Теперь давайте применим ещё одну фишку, а именно, эффект затухания. Для этого div-у модального окна припишем класс fade:

<div id="modal" class="modal hide fade">
    <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h2>Lorem Ipsum</h2>
    </div>
    <div class="modal-body">
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.
        Donec placerat sem ipsum, ut faucibus nulla. Nullam mattis volutpat
        dolor, eu porta magna facilisis ut. In ultricies, purus sed pellentesque
        mollis, nibh tortor semper elit, eget rutrum purus nulla id quam.</p>
    </div>
</div>

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

Бонус

Для того чтобы скачать только этот компонет Bootstrap-а, переходим на страницу скачивания и выбираем:

Buttons из Base CSS

Modals из JS Components

Modals из jQuery plugins

Обсуждение

Андрей, 2013/10/06 17:43

Отлично!

Ваш комментарий. Вики-синтаксис разрешён:
  ____    __  ___  _____  ____    ___ 
 / __ \  /  |/  / / ___/ / __ \  / _ \
/ /_/ / / /|_/ / / (_ / / /_/ / / // /
\___\_\/_/  /_/  \___/  \___\_\/____/
 
bootstrap_modal_window.txt · Последние изменения: 2013/10/06 17:44 — admin