- Создай репозиторий
Organick-hw-05
. - Склонируй созданный репозиторий и скопируй в него файлы предыдущей работы.
- Добавь анимацию декоративных эффектов для страниц макета домашнего задания.
- Настрой
GitHub Pages
и добавь ссылку на живую страницу в шапку GitHub-репозитория.
«D1»
Выполнена разметка и оформление «бекдропа» (тёмного полупрозрачного
фона) модального окна.
«D2»
«Бекдроп» заполняет 100% высоты и ширины вьюпорта браузера и
фиксирован в нём.
«D3»
Выполнена разметка и оформление модального окна.
«D4»
Модальное окно вертикально и горизонтально спозиционировано
посередине бекдропа.
«D5»
Выполнена разметка и оформление кнопки закрытия модального окна в
верхнем правом углу.
«D6»
Изначально модальное окно и бекдроп скрыты при помощи класса
is-hidden
на бекдропе, в селекторе которого используются свойства
visibility
, opacity
и pointer-events
.
«D7»
Если убрать с бекдропа класс is-hidden
- появляется бекдроп и
модальное окно.
«D8»
Появление и скрытие модального окна анимировано при помощи перехода с
произвольным эффектом, например scale
или translate
, и opacity
.
Модальное окно с формой заявки открывается по клику на кнопку
"Заказать услугу"
. Для того чтобы скрипт сработал необходимо добавить в
разметку специальные атрибуты, по которым скрипт ищет элементы:
data-modal-open
- на кнопку открытия модального окна.data-modal-close
- на кнопку закрытия модального окна.data-modal
- на бекдроп модального окна.
После чего, перед закрывающим тегом body
добавить тег script
со ссылкой на
файл скрипта для модально окна. Можно посмотреть
видео-инструкцию.
<body>
<!-- Вся твоя разметка, включая разметку модалки -->
<!-- Ставим перед закрывающим тегом body -->
<script src="./js/modal.js"></script>
</body>
Скрипт который необходимо скопировать и вставить в файл modal.js
.
(() => {
const refs = {
openModalBtn: document.querySelector('[data-modal-open]'),
closeModalBtn: document.querySelector('[data-modal-close]'),
modal: document.querySelector('[data-modal]'),
};
refs.openModalBtn.addEventListener('click', toggleModal);
refs.closeModalBtn.addEventListener('click', toggleModal);
function toggleModal() {
refs.modal.classList.toggle('is-hidden');
}
})();