Читать на других языках: Русский, Українська.
- Создан репозиторий
goit-js-hw-08-gallery
. - При сдаче домашней работы есть две ссылки: на исходные файлы и рабочую страницу на GitHub pages.
- При посещении рабочей страницы (GitHub pages) задания, в консоли нету ошибок и предупреждений.
- Имена переменных и функций понятные, описательные.
- Код отформатирован с помощью Prettier.
Создай галерею с возможностью клика по ее элементам и просмотра полноразмерного изображения в модальном окне. Превью результата посмотри по ссылке.
Разбей задание на несколько подзадач:
- Создание и рендер разметки по массиву данных
galleryItems
изapp.js
и предоставленному шаблону. - Реализация делегирования на галерее
ul.js-gallery
и получениеurl
большого изображения. - Открытие модального окна по клику на элементе галереи.
- Подмена значения атрибута
src
элементаimg.lightbox__image
. - Закрытие модального окна по клику на кнопку
button[data-action="close-lightbox"]
. - Очистка значения атрибута
src
элементаimg.lightbox__image
. Это необходимо для того, чтобы при следующем открытии модального окна, пока грузится изображение, мы не видели предыдущее.
- В папке src ты найдешь стартовые файлы проекта с базовой разметкой и готовыми стилями.
- В файле
app.js
есть массивgalleryItems
, который содержит объекты с информацией о изображениях: маленькое изображение, оригинальное и описание.
Ссылка на оригинальное изображение должна храниться в data-атрибуте source
на
элементе img
, и указываться в href
ссылки (это необходимо для доступности).
<li class="gallery__item">
<a
class="gallery__link"
href="https://cdn.pixabay.com/photo/2010/12/13/10/13/tulips-2546_1280.jpg"
>
<img
class="gallery__image"
src="https://cdn.pixabay.com/photo/2010/12/13/10/13/tulips-2546__340.jpg"
data-source="https://cdn.pixabay.com/photo/2010/12/13/10/13/tulips-2546_1280.jpg"
alt="Tulips"
/>
</a>
</li>
Следующий функционал не обязателен при сдаче задания, но будет хорошей практикой по работе с событиями.
- Закрытие модального окна по клику на
div.lightbox__overlay
. - Закрытие модального окна по нажатию клавиши
ESC
. - Пролистывание изображений галереи в открытом модальном окне клавишами "влево" и "вправо".