как сделать всплывающее окно в js
Для создания всплывающего окна на странице вам понадобится HTML, CSS и JavaScript:
id="openModal">Нажми меня! id="modal" class="modal"> class="modal-content"> class="close">close Привет, я всплывающее окно!
.modal display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(0, 0, 0, 0.4); > .modal-content /* some rules */ > .close /* some rules */ >
const modal = document.querySelector('#modal'); const btn = document.querySelector('#openModal'); const close = document.querySelector('.close'); btn.onclick = function () modal.style.display = 'block'; >; close.onclick = function () modal.style.display = 'none'; >; window.onclick = function (event) if (event.target == modal) modal.style.display = 'none'; > >;
В этом примере мы создали кнопку Нажми меня! , которая открывает всплывающее окно при клике на нее. Окно закрывается при нажатии на крестик или на любое место вне его области.
Всплывающее окно на HTML и CSS
Для вывода важных сообщений или просто изменений, произведённых на сайте, можно использовать всплывающие окна. Всплывающие окна бывают двух видов: обычные и модальные.
Примечание: модальные окна отличаются от обычных тем, что пока модальное окно открыто пользователь не может взаимодействовать с другими элементами сайта до тех пор, пока не закроет модальное окно.
Посмотреть пример модального окна можно с помощью JavaScript, воспользовавшись методом alert().
Всплывающее окно
Первым шагом создания всплывающего окна является создание элемента (или любого другого элемента) и его оформление:
Название документа .oknoВсплывающее окошко!
Этот и будет использоваться в качестве всплывающего окна. Теперь мы его скрываем с помощью значения none свойства display и добавляем ссылку, при нажатии на которую будет появляться всплывающее окно:
Название документа #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; >#okno:targetВсплывающее окошко!Вызвать всплывающее окно
Используя псевдо-класс :target мы выбираем и применяем стили к элементу, к которому был осуществлён переход. Таким образом после перехода по ссылки значение свойства display элемента сменится с none на block .
Теперь надо расположить посередине страницы, чтобы он стал похож на всплывающее окно. Делаем его абсолютно позиционированным и центрируем его по вертикали и горизонтали:
#okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; /*позиционируем и центрируем*/ position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >
Следующим шагом будет реализация скрытия окна, при нажатии на любое место страницы или на само окно. Для этого нам нужно расположить элемент внутри элемента :
Название документа #main < display: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; >#okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#main:targetВсплывающее окошко!Вызвать всплывающее окно
На этом создание простого всплывающего окна закончено.
Модальное окно
Для создания всплывающего модального окна, берём элемент , оформляем его и добавляем ссылку, при нажатии на которую он будет появляться:
Название документа #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#okno:targetВсплывающее окошко!Вызвать всплывающее окно
Следующим шагом в создании полноценного модального окна будет добавление кнопки, которая будет скрывать наше окно. Кнопку сделаем из обычной ссылки, добавив её к нашему и оформив:
Название документа #okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; >#okno:target .close < display: inline-block; border: 1px solid #0000cc; color: #0000cc; padding: 0 12px; margin: 10px; text-decoration: none; background: #f2f2f2; font-size: 14pt; cursor:pointer; >.close:hoverВсплывающее окошко!Вызвать всплывающее окно
Закрыть окно
Для эффекта затемнения страницы при выводе модального окна, надо поместить весь имеющийся код окна в дополнительный :
Позиционируем родительский и растягиваем его на всю ширину и высоту окна. Задаём ему display: none; и перенаправляем ссылку вызова окна на него.
У дочернего убираем display: none; (он больше не нужен, так как родительский будет скрывать всё, что находится внутри него). В итоге родительский теперь отвечает за отображение модального окна и за затемнение фона страницы, а дочерний только за оформление самого окна:
Название документа #zatemnenie < background: rgba(102, 102, 102, 0.5); width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: none; >#okno < width: 300px; height: 50px; text-align: center; padding: 15px; border: 3px solid #0000cc; border-radius: 10px; color: #0000cc; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background: #fff; >#zatemnenie:target .close < display: inline-block; border: 1px solid #0000cc; color: #0000cc; padding: 0 12px; margin: 10px; text-decoration: none; background: #f2f2f2; font-size: 14pt; cursor:pointer; >.close:hoverВызвать всплывающее окноВсплывающее окошко!
Закрыть окно
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru | razumnikum.ru
Как сделать — Всплывающие окна
Узнать, как создать всплывающие окна с помощью CSS и JavaScript.
Нажмите на меня, чтобы переключить всплывающее окно! Простое всплывающее окно!
Как создавать всплывающие окна
Шаг 1) Добавить HTML:
Пример
Шаг 2) Добавить CSS:
Пример
/* Всплывающий контейнер */
.popup position: relative;
display: inline-block;
cursor: pointer;
>
/* Фактическое всплывающее окно (появляется сверху) */
.popup .popuptext visibility: hidden;
width: 160px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 8px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -80px;
>
/* Всплывающее окно со стрелками */
.popup .popuptext::after content: «»;
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
>
/* Переключите этот класс при нажатии на всплывающий контейнер (скрыть и показать всплывающее окно) */
.popup .show visibility: visible;
-webkit-animation: fadeIn 1s;
animation: fadeIn 1s
>
/* Добавить анимацию (исчезает во всплывающем окне) */
@-webkit-keyframes fadeIn from
to
>
Шаг 3) Добавить JavaScript:
Пример
Связанные страницы
Совет: Всплывающие подсказки похожи на всплывающие окна. Зайдите на наш учебник Как сделать — Подсказки чтобы узнать о подсказках.
Совет: Модели также похожи на всплывающие окна. Зайдите на наш учебник Как сделать — Модали чтобы узнать о модалях.
Как создать всплывающие окна (pop-up) на сайте
Узнайте, как создать всплывающие окна (pop-up) на вашем сайте с помощью HTML, CSS и JavaScript-библиотек в нашей практической статье!
Алексей Кодов
Автор статьи
1 июня 2023 в 15:38
Всплывающие окна, или pop-up, являются распространенным элементом на многих сайтах. Они могут использоваться для различных целей, таких как отображение рекламы, сбор информации или привлечение внимания пользователей. В этой статье мы рассмотрим основные методы создания всплывающих окон на вашем сайте.
HTML и CSS
Самый простой способ создания всплывающего окна – использование HTML и CSS. Создайте отдельный блок с содержимым всплывающего окна и добавьте стили для его позиционирования и отображения.
<!DOCTYPE html> <html> <head> <style> .popup < display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: white; border: 2px solid black; padding: 20px; z-index: 10; >.overlay < display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); z-index: 5; ></style> </head> <body> <button onclick="showPopup()">Открыть всплывающее окно</button> <div onclick="hidePopup()"></div> <div <h2>Всплывающее окно</h2> <p>Текст всплывающего окна.</p> </div> <script> function showPopup() < document.querySelector('.overlay').style.display = 'block'; document.querySelector('.popup').style.display = 'block'; >function hidePopup() < document.querySelector('.overlay').style.display = 'none'; document.querySelector('.popup').style.display = 'none'; ></script> </body> </html>
В этом примере мы создали всплывающее окно с классом popup и полупрозрачный фон с классом overlay . Для открытия и закрытия окна используются функции showPopup() и hidePopup() .
Веб-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT
JavaScript-библиотеки
Если вы хотите использовать более продвинутые функции всплывающих окон, можно воспользоваться специализированными JavaScript-библиотеками. Одна из популярных библиотек для создания всплывающих окон – Magnific Popup.
Пример использования Magnific Popup:
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css"> <style> .mfp-content < width: 300px; background-color: white; border: 2px solid black; padding: 20px; ></style> </head> <body> <button всплывающее окно</button> <div <h2>Всплывающее окно</h2> <p>Текст всплывающего окна.</p> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js"></script> <script> $(document).ready(function() < $('.open-popup').magnificPopup(< type: 'inline', midClick: true, items: < src: '#popup' >>); >); </script> </body> </html>
В этом примере мы подключили стили и скрипты Magnific Popup, а также использовали класс open-popup для открытия всплывающего окна с содержимым блока с ID popup .
Теперь вы знаете основные методы создания всплывающих окон на вашем сайте. Удачи вам в веб-разработке! И не забудьте присмотреться к замечательной школе, которая хорошо учит «Веб-разработка» –
