JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"
/>
</head>
<body>
<div>
<a href="https://lipsum.app/id/1/400x300" data-fancybox="gallery" data-title="Title #1" data-caption="Caption #1"><img src="https://lipsum.app/id/1/200x150" loading="lazy" alt="" /></a>
<a href="https://lipsum.app/id/2/400x300" data-fancybox="gallery" data-title="Title #2" data-caption="Caption #2"><img src="https://lipsum.app/id/2/200x150" loading="lazy" alt="" /></a>
<a href="https://lipsum.app/id/3/400x300" data-fancybox="gallery" data-title="Title #3" data-caption="Caption #3"><img src="https://lipsum.app/id/3/200x150" loading="lazy" alt="" /></a>
<a href="https://lipsum.app/id/4/400x300" data-fancybox="gallery" data-title="Title #4" data-caption="Caption #4"><img src="https://lipsum.app/id/4/200x150" loading="lazy" alt="" /></a>
<a href="https://lipsum.app/id/5/400x300" data-fancybox="gallery" data-title="Title #5" data-caption="Caption #5"><img src="https://lipsum.app/id/5/200x150" loading="lazy" alt="" /></a>
</div>
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script>
<script>
Fancybox.bind('[data-fancybox]', {
Toolbar: {
items: {
title: {
tpl: `<div id="fancybox-title"></div>`
}
},
display: {
left: ['title']
}
},
on : {
"Carousel.ready Carousel.change" : (fancybox) => {
const title = fancybox.getSlide().triggerEl.dataset.title;
document.getElementById('fancybox-title').innerHTML = title;
}
}
});
</script>
</body>
</html>