Создаем всплывающее окно при загрузке сайта без плагинов

1-й  вариант:

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

Перекопал в интернете много информации по установлению модального окна на сайт. В основном находится информация по установке при помощи плагинов, а это лишняя нагрузка на сервер. Я опишу способ установки модального окна с помощью одного небольшого скрипта и CSS. Способ очень простой.

Разметка всплывающего окна очень проста. Понадобятся всего лишь два блочных элемента div с идентификаторами id, для привязки к javascript и формирования внешнего вида с помощью стилей CSS. Элемент <div id="parent_popup"> отвечает за позиционирование, цвет фона, прозрачность и степень его затемнения при запуске всплывающего окна. Внутри контейнера <div id="popup"> будет размещаться само содержание модального окна. Также надо будет сделать ссылку для закрытия окна. Для  примера разместим простой заголовок и пару параграфов текстового содержания. В итоге получится разметка HTML примерно такого вида:

Для закрытия окна используется ссылка с небольшим javascript в атрибуте и определенным классом class=»close» для возможности оформления внешнего вида кнопки закрытия через стили CSS. В разметке ссылка выглядит так:

<a class=»close»title=»Закрыть» onclick=»document.getElementById(‘parent_popup’).style.display=’none’;»>X</a>

Код этой разметки я устанавливал в самом конце файла header.php

Теперь необходимо установить небольшой скрипт. Устанавливайте его в файле footer.php перед закрывающим тегом </body>. Код скрипта:

Цифра в скрипте — 3000 означает задержку появления окна. В данном случае задержка будет в 3 секунды. Вы можете регулировать этой цифрой время появления окна на Вашем сайте

Теперь остаётся открыть файл style.css и прописать в самом конце такие стили:

1. Создадим идентификатор #parent_popup с помощью которого мы свяжем наше окно с javascript и сформируем базовый контейнер:

Для основы окна выставляется фиксированное положение position: fixed;, т.е. если прокручивать страницу при открытом окне, оно остаётся на месте. Зададим чёрный цвет для фона и добавим ему лёгкую прозрачность с расширением на весь экран. За счет использования свойства z-index, фон располагается поверх всех остальных элементов. В завершении, с помощью свойства display: none;, скроем его до момента активации javascript.

Теперь переходим непосредственно к оформлению внешнего вида самого модального окна. Здесь всё так же очень просто. Создаётся связующий идентификатор #popup и уже в нем определяются все необходимые параметры всплывающего окна. Задаем ширину модального окна и его положение на странице. Так же определяем цвет фона, устанавливается стиль и цвет границы вокруг элемента, добавляется эффект тени и немного закругляются углы информационного блока.

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

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

Думаю, что проблем с установкой модального окна не будет.
2  вариант:

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

Весь код состоит из трёх частей. Начнём по порядку.

Первая часть отвечает за информацию, которая будет содержаться в окне. Этот код вставляется в файл header.php перед закрывающим тегом </head>

<div id=»popup»>
<figure>
<figcaption>заголовок</figcaption>
<div>содержание</div>
</figure>
</div>

Теперь надо вставить скрипт в файл footer.php перед закрывающим тегом </body>:

И остаётся прописать для окна стили в файле style.css Нижеприведённый код копируете и вставляете в самый низ файла style.css:

В стилях вы можете самостоятельно настроить внешний вид окна.

Посмотреть работу окна в действии  DEMO

 

Статья была полезной?