Добавляем Lightbox-галерею с помощью Fancybox, подключив всего несколько строк кода и получив удобные функции: увеличение, слайд-шоу, полноэкранный режим и скачивание изображений
Довольно частая задача, когда нужно сделать Lightbox для фотографий. Наример в галереи или карточке товара. Разберем, как за пару минут добавить встроенную библиотеку к себе в проект.
In the pursuit of minimalism, the discerning artist becomes an editor, carefully selecting and discarding elements until only the essential remains. This process requires a keen eye for detail and an understanding that every component contributes to the overall impact of the piece.
<!-- CSS Fancybox -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.css">
<!-- jQuery + Fancybox JS -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.5.7/jquery.fancybox.min.js"></script>
<script>
$(document).ready(function() {
// Перебираем все элементы с классом fancy-box
$('.fancy-box').each(function() {
// Ищем внутри текущего элемента тег img
const img = $(this).find('img');
if (img.length) {
// Обернём img в ссылку <a>, если её нет (требуется для Fancybox)
if (!img.parent('a').length) {
img.wrap('<a href="' + img.attr('src') + '" data-fancybox="gallery"></a>');
}
}
});
// Инициализируем Fancybox для всех ссылок, созданных выше
$('[data-fancybox]').fancybox({
buttons: [
"zoom",
"share",
"slideShow",
"fullScreen",
"download",
"thumbs",
"close"
]
});
});
</script>
Коротко о том, какие элементы галереи подключены в этом скрипте:
Более подробно по дополнительным функциям можно посмотреть здесь