<MyRusakov.ru />

React JS, Redux, ES2015 с Нуля до Гуру

React JS, Redux, ES2015 с Нуля до Гуру

Данный курс - это обширный курс по JavaScript и фреймворку React, который позволит Вам с нуля создавать мощные современные, динамические JavaScript-приложения.

Вы узнаете о тонкостях работы с "профессиональным" JavaScript, а так же узнаете о нововведениях в его новый стандарт ES2015, Вы узнаете, как организовать профессиональное окружение для FrontEnd, изучите профессиональный фреймворк - ReactJS.

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Модальное окно на CSS + JS

Модальное окно на CSS + JS

Каждый начинающий веб-разработчик рано или поздно сталкивается с задачей, реализовать на сайте модальное окно (аналог pop-up окна).

Модальное окно полностью блокирует работу родительского сайта, пока пользователь не закроет данное окно. Как вы понимаете, что для навязывания такого действия, содержимое модального окна, должно представлять пользу для пользователя.

Желательно отказаться от автоматически всплывающего модального окна, а предоставить пользователю только кнопку, открывающую окно и хорошо видимый элемент (обычно это крестик), закрывающий окно. Этот способ, мы сегодня и реализуем в данной статье.

Демонстрация модального окна.

Мы сделаем адаптивное модальное окно без плагинов и библиотек, на чистом CSS+JS.


HTML разметка

Создадим кнопку, при клике на которую, будет открываться модальное окно.

<button id="myBtn">Открыть окно</button>

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

<div id="myModal" class="modal"> </div>

Содержимое модального окна, состоящее из хедера, тела и футера.

<div class="modal-content">
  <div class="modal-header">
    <span class="close">×</span>
    <h2>Шапка модального окна</h2>
  </div>
  <div class="modal-body">
    <p>Напишите здесь что-нибудь важное</p>
    <p>Добавьте что-нибудь менее важное...</p>
  </div>
  <div class="modal-footer">
    <h3>Футер</h3>
  </div>
</div>

CSS код

Оформление полноэкранного фона модального окна.

.modal {
  display: none; /* Скрыто по умолчанию */
  background-color: rgb(0,0,0); /* Затемнение фона */
  background-color: rgba(0,0,0,0.5); /* Полупрозрачное затемнение */
  z-index: 1; /* Фон на нижнем слое */
  overflow: auto; /* При необходимости, то появиться прокрутка */
}

Модальное окно с содержанием, к которому примениться анимация.

.modal-content {
  animation-name: animate;
  animation-duration: 0.5s
}

Добавим анимации для плавного скольжения сверху вниз и постепенного появления модального окна.

@keyframes animate {
  from {top:-320px; opacity:0}
  to {top:0; opacity:1}
}

Стилизуем крестик (сущность ×), при клике по которому, модальное окно закроется.

.close {
  font-size: 30px;
  font-weight: bold;
}

JS код

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

Получить модальное окно по ID.

var modal = document.getElementById('myModal');

Получить кнопку, которая открывает модальное окно по ID.

var btn = document.getElementById("myBtn");

Получить тег span с классом close, который закрывает модальное окно.

var span = document.getElementsByClassName("close")[0];

Функции открыть / закрыть при клике.

Когда пользователь кликает по кнопке, модальное окно открывается – переходит из скрытного состояния в видимое.

btn.onclick = function() {
  modal.style.display = "block";
}

Когда пользователь кликает на крестик в теге span, модальное окно закрывается, наоборот переходит из видимого состояния в скрытное.

span.onclick = function() {
  modal.style.display = "none";
}

Когда пользователь кликает где-то за пределами модального окна, оно закрывается, становиться невидимым.

window.onclick = function(event) {
  if (event.target == modal) {
    modal.style.display = "none";
  }
}

Свободное владение языком JavaScript, делает создание web-страниц – не скучным процессом, вы можете сами в этом убедиться, посмотрев мой видеокурс "JavaScript, jQuery и Ajax с Нуля до Гуру".

На CodePen вы можете увидеть весь код модального окна на CSS+JS, который можно скачать и использовать в своих проекта.

See the Pen Модальное окно на CSS + JS by porsake (@porsake) on CodePen.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.