Настройка галереи Fancybox 3
Fancybox 3 это универсальный плагин, использующий возможности библиотеки jQuery для быстрой вставки медиа-контента на сайте в виде галереи. В этой статье мы рассмотрим, как вставить картинки в галерею.
Подключение и инициализация Fancybox в 3 шага
Шаг 1) Добавьте на HTML страницу перед закрывающим тегом head ссылку на CSS файл плагина.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.css" />
Шаг 2) Добавьте на HTML страницу перед закрывающим тегом body ссылку на последнюю версию библиотеки jQuery и плагин Fancybox 3.
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/fancyapps/[email protected]/dist/jquery.fancybox.min.js"></script>
Шаг 3) Для инициализации Fancybox добавьте в внутри каждой ссылки на картинку специальный атрибут data-fancybox="gallery". Кроме того создайте уменьшенные версии больших картинок.
<a href="picture_1.jpg" data-fancybox="gallery">
<img src = "preview_1.jpg" alt ="picture 1">
</a>
<a href="picture_2.jpg" data-fancybox="gallery">
<img src = "preview_2.jpg" alt ="picture 2">
</a>
Можно сколько угодно добавлять картинок в галерею. При первом клике по превью изображению, откроется его большая версия и сразу можно по стрелочке переходить на следующую картинку, до тех пор пока не закончатся картинки в галереи.
Атрибут data-fancybox
Если указать просто атрибут data-fancybox без значения gallery, то каждая картинка будет открываться в отдельном окне, как одна единственная в галерее.
<a href="picture_1.jpg" data-fancybox>
<img src = "preview_1.jpg" alt ="picture 1">
</a>
Создание нескольких галерей Fancybox
На одном большом лендинге может быть больше, чем одна галерея. Поэтому для создания нескольких галерей нужно задать уникальные значения для атрибута data-fancybox. Изображения из разных галерей листаются в пределах только своих галерей.
// Первая галерея
<a href="picture.jpg" data-fancybox="first_gallery">
<img src = "preview.jpg" alt ="picture">
</a>
// Вторая галерея
<a href="photo.jpg" data-fancybox="second_gallery">
<img src = "photo.jpg" alt ="photo">
</a>
Пример вставки видео Fancybox
Так же с Fancybox можно просматривать видео, указав URL ролика с YouTube. Встроенный видеоплеер HTML5 воспроизводит видео в формате MP4.
<a data-fancybox href="https://www.youtube.com/watch?v=_sI_Ps7JSEk">
<img src="video_thumb.jpg">
</a>
Модальное окно с Fancybox
C Fancybox удивительно легко реализовать появление по клику любого HTML-элемента на странице (модальное окно), предварительно скрыв его. Сначала создайте скрытый элемент с уникальным идентификатором.
// HTML
<div id="hidden-window">
<h2>Привет!</h2>
<p>Я модальное окно.</p>
</div>
// CSS
#hidden-window {
display: none;
}
Затем просто создайте ссылку, имеющая значение в data-src атрибуте выше созданный уникальный идентификатор #hidden-window.
<a data-fancybox data-src="#hidden-window" href="javascript:;">
Кнопка (триггер)
</a>
Итоги
Хорошо освоив все основные возможности библиотеки Fancybox, начинающий верстальщик уже можно легко брать заказы на верстку с реализацией всевозможных галерей и модальных окон.
-
- Михаил Русаков
Комментарии (2):
Здравствуйте. Спасибо за статью и за такое подробное и качественное объяснение. Все заработало. Только вот, как только начинает работать Fancybox, всплывающее меню перестает работать. Как можно исправить этот конфликт? Так же, скажите, пожалуйста, как сделать так, чтоб после завершения просмотра последнего изображения в галерее, можно было бы просматривать эти изображения по кругу? Спасибо.
Ответить
Нашел ответ самостоятельно. Удалил строку <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js"></script> и все заработало на сайте.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.