15.2 C
Москва
01.09.2026

тут.

Вызов модального окна при помощи jQuery

Исходник модального окна с использованием jQuery

Компонент Модальное окно Modal

Партнёр

Шикарный компонент для создания модальных диалоговых окон с разными стилями и переходами. Модификаторы. Руководство.

Модальный компонент состоит из перекрытия (overlay), диалогового окна и необязательной кнопки закрытия. Вы можете использовать любой элемент для переключения модального окна.

Руководство

Modal

Чтобы включить необходимый JavaScript, добавьте атрибут uk-toggle . Элемент должен быть связан с модальным идентификатором (id). Если вы используете другой элемент, например кнопку, просто добавьте атрибут uk-toggle=»target: #ID» , чтобы указать в нём идентификатор модального контейнера.

Добавьте к элементу атрибут uk-modal , чтобы создать модальный контейнер и наложение (перекрытие, overlay), которое затемняет страницу. Важно добавить id , чтобы указать цель для переключения. Обратите внимание на следующие классы и используйте их при создании модальных окон.

Класс Описание
.uk-modal-dialog Добавьте этот класс в дочерний элемент для создания диалогового окна.
.uk-modal-body Добавьте этот класс для создания внутренних отступов между модальным окном и его содержимым.
.uk-modal-title Добавьте этот класс к элементу заголовка, чтобы создать модальный заголовок.
.uk-modal-close Добавьте этот класс к элементу или , чтобы создать кнопку закрытия и включить ее функциональность. По умолчанию не имеет стилей.
   

Модальный заголовок

Тестовое изображение

 

Изображение Видео YouTube Vimeo

Тестовое изображение

Тестовое изображение

 

Изображение + диалоговое окно Изображение + диалоговое окно + внутренние отступы

Модальные группы

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

Вы можете сгруппировать несколько модальных окон, связывая одно окно с другим, по типу вперёд и назад. Используйте этот вариант, при создании модальных окон с «шагами», многошаговых модалок, как модальное окно в модальном c неограниченной вложенностью.

 
Далее
Предыдущее
  • Результат
  • Разметка

Модальный заголовок 1

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

Модальный заголовок 2

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

 

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

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

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

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

Предыдущее окно

Параметры для атрибута

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

Опции компонента

Опция Значение По умолчанию Описание
esc-close Boolean true Закрытие модального при нажатии клавиши Esc.
bg-close Boolean true Закрытие модального при нажатии на фон.
stack Boolean false Модальные стеки, когда открыто более одного. По умолчанию предыдущее модальное будет скрыто.
container String true Определите целевой контейнер с помощью селектора, чтобы указать, где модальный объект должен быть добавлен в DOM. Установка в false предотвратит это поведение.
cls-page String ‘uk-modal-page’ Класс для добавления в , когда модальное окно активно.
cls-panel String ‘uk-modal-dialog’ Класс элемента, который следует считать модальной панелью.
sel-close String ‘.uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full’ CSS селектор для всех элементов, которые должны вызывать закрытие модального окна.

JavaScript

Узнайте больше о использовании JavaScript в компонентах фреймворка UIkit 3.

Инициализация

UIkit.modal(element, options); 

События

Следующие события будут инициированы для элементов компонента «Modal»:

Имя события Описание
beforeshow Срабатывает до показа элемента.
show Срабатывает после показа элемента.
shown Запускается после завершения анимации показанного элемента.
beforehide Срабатывает до того, как элемент скрыт.
hide Запускается после запуска анимации скрытия элемента.
hidden Срабатывает после того, как элемент скрыт.

Методы

Для компонента «Modal» доступны следующие методы:

Show
UIkit.modal(element).show(); 

Показывает модальное окно.

Hide
UIkit.modal(element).hide(); 

Скрывает модальное окно.

Пример скрытия

Пример кода для скрытия открытого модального окна с ID myModal . При нажатии на кнопку с ID myBtnClose метод setTimeout() установит таймаут, модальное окно будет закрыто через четыре секунды. В примере испольуется JavaScript утилита UIkit.util.on().

util.on('#myBtnClose', 'click', () => < setTimeout(() =>UIkit.modal('#myModal.uk-open').hide(), 4000) >) // Аналогично const myBtnClose = document.querySelector('#myBtnClose'); myBtnClose.addEventListener('click', function(event) < setTimeout(function() < UIkit.modal('#myModal.uk-open').hide(); >, 4000) >, false );

Модальные диалоги

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

Код Описание
UIkit.modal.alert(‘Уведомление Alert UIkit 3!’) Показывает окно оповещения с одной кнопкой.
UIkit.modal.confirm(‘UIkit confirm!’) Показывает диалог подтверждения с вашим сообщением и двумя кнопками.
UIkit.modal.prompt(‘Имя:’, ‘Ваше имя’) Показывает диалог, запрашивающий ввод текста.
UIkit.modal.dialog(‘

UIkit 3 диалог!

‘);

Показывает диалог с любым содержимым HTML.

Для обработки пользовательского ввода модальное окно использует интерфейс на основе промисов (promise), который предоставляет функцию then() для регистрации ваших функций обратного вызова. Однако функция UIkit.modal.dialog вернет само модальное окно.

UIkit.modal.confirm('UIkit confirm!').then(function() < console.log('Confirmed.') >, function () < console.log('Rejected.') >); 

Возвращаемое обещание (дословный перевод слова «промис») имеет свойство dialog , которое содержит ссылку на само модальное окно. Это позволяет вам манипулировать, например, разметкой модального элемента.

const modal = UIkit.modal.confirm('UIkit confirm!').dialog; // Модальный компонент const el = modal.$el; // Модальный элемент 

 
Alert Confirm Prompt Dialog

Доступность

Компонент «Модальное окно» (Modal) придерживается Dialog (Modal) Pattern и автоматически устанавливает соответствующие роли, состояния и свойства WAI-ARIA.

Компонент Close автоматически устанавливает соответствующие роли и свойства WAI-ARIA.

Взаимодействие с клавиатурой

Доступ к модальному компоненту можно получить с помощью клавиатуры, используя следующие клавиши:

Как создать простое модальное окно на CSS

Как создать модальное окно на чистом CSS

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

В большинстве случаев модальное окно создают на JavaScript. Но его можно создать не только с помощью JavaScript, но и посредством только HTML5 и CSS3.

Демо модального окна

Демонстрацию всплывающего окна, работающего только на HTML5 и CSS3, вы можете посмотреть здесь:

HTML и CSS код модального окна

HTML разметка модального окна:

 

Название

×

Содержимое модального окна.

Ссылка, с помощью которой осуществляется открытие модального окна:

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

/* стилизация содержимого страницы */ body { font-family: -apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; color: #292b2c; background-color: #fff; } /* свойства модального окна по умолчанию */ .modal { position: fixed; /* фиксированное положение */ top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,0.5); /* цвет фона */ z-index: 1050; opacity: 0; /* по умолчанию модальное окно прозрачно */ -webkit-transition: opacity 200ms ease-in; -moz-transition: opacity 200ms ease-in; transition: opacity 200ms ease-in; /* анимация перехода */ pointer-events: none; /* элемент невидим для событий мыши */ margin: 0; padding: 0; } /* при отображении модального окно */ .modal:target { opacity: 1; /* делаем окно видимым */ pointer-events: auto; /* элемент видим для событий мыши */ overflow-y: auto; /* добавляем прокрутку по y, когда элемент не помещается на страницу */ } /* ширина модального окна и его отступы от экрана */ .modal-dialog { position: relative; width: auto; margin: 10px; } @media (min-width: 576px) { .modal-dialog { max-width: 500px; margin: 30px auto; /* для отображения модального окна по центру */ } } /* свойства для блока, содержащего контент модального окна */ .modal-content { position: relative; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -webkit-flex-direction: column; -ms-flex-direction: column; flex-direction: column; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid rgba(0,0,0,.2); border-radius: .3rem; outline: 0; } @media (min-width: 768px) { .modal-content { -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5); box-shadow: 0 5px 15px rgba(0,0,0,.5); } } /* свойства для заголовка модального окна */ .modal-header { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -webkit-align-items: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -webkit-justify-content: space-between; -ms-flex-pack: justify; justify-content: space-between; padding: 15px; border-bottom: 1px solid #eceeef; } .modal-title { margin-top: 0; margin-bottom: 0; line-height: 1.5; font-size: 1.25rem; font-weight: 500; } /* свойства для кнопки "Закрыть" */ .close { float: right; font-family: sans-serif; font-size: 24px; font-weight: 700; line-height: 1; color: #000; text-shadow: 0 1px 0 #fff; opacity: .5; text-decoration: none; } /* свойства для кнопки "Закрыть" при нахождении её в фокусе или наведении */ .close:focus, .close:hover { color: #000; text-decoration: none; cursor: pointer; opacity: .75; } /* свойства для блока, содержащего основное содержимое окна */ .modal-body { position: relative; -webkit-box-flex: 1; -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; padding: 15px; overflow: auto; }

Модальное окно на чистом CSS

Если вам необходимо убрать скролл страницы после отображения модального окна, то к элементу body нужно добавить CSS-свойство overflow со значением hidden . А после скрытия модального окна данное свойство убрать у элемента body . Данное действие можно осуществить только с помощью JavaScript:

JavaScript

document.addEventListener("DOMContentLoaded", function(){ var scrollbar = document.body.clientWidth - window.innerWidth + 'px'; console.log(scrollbar); document.querySelector('[href="#openModal"]').addEventListener('click',function(){ document.body.style.overflow = 'hidden'; document.querySelector('#openModal').style.marginLeft = scrollbar; }); document.querySelector('[href="#close"]').addEventListener('click',function(){ document.body.style.overflow = 'visible'; document.querySelector('#openModal').style.marginLeft = '0px'; }); });
Читать:
Как поменять трещетку на уазе видео

Похожие записи

Как в 1с провести страховку на автомобиль

admin

Как удалить секретный чат в telegram у двоих

admin

Почему не отображается вес линий в автокаде

admin