Использую скрипт
https://github.com/henrygd/bigpicture для увеличения изображения.
Есть список изображений в виде:
<div id="image_container" class="row">
<div class="col-12 col-xs-6 col-md-4 col-lg-3 col-xl-auto mb-4">
<figure itemscope itemtype="http://schema.org/ImageObject" style="cursor:zoom-in;">
<picture>
<source data-bp="/img/portfolio/naklejki03_full.webp" srcset="/img/portfolio/naklejki03_thum.webp" type="image/webp" >
<source data-bp="/img/portfolio/naklejki03_full.jpg" srcset="/img/portfolio/naklejki03_thum.jpg" type="image/jpeg" >
<img class="gallery__item-inner" data-bp="/img/portfolio/naklejki03_full.jpg" src="/img/portfolio/naklejki03_thum.jpg" alt="" data-caption=""/>
</picture>
<link itemprop="url" href="/img/portfolio/naklejki03_thum.webp" />
</figure>
</div>
<div class="col-12 col-xs-6 col-md-4 col-lg-3 col-xl-auto mb-4">
<figure itemscope itemtype="http://schema.org/ImageObject" style="cursor:zoom-in;">
<picture>
<source data-bp="/img/portfolio/naklejki17_full.webp" srcset="/img/portfolio/naklejki17_thum.webp" type="image/webp" >
<source data-bp="/img/portfolio/naklejki17_full.jpg" srcset="/img/portfolio/naklejki17_thum.jpg" type="image/jpeg" >
<img class="gallery__item-inner" data-bp="/img/portfolio/naklejki17_full.jpg" src="/img/portfolio/naklejki17_thum.jpg" alt="" data-caption=""/>
</picture>
<link itemprop="url" href="/img/portfolio/naklejki17_thum.webp" />
</figure>
</div>
</div>
Запускается скрипт так:
<script>
;(function() {
var imageLinks = document.querySelectorAll('#image_container img')
for (var i = 0; i < imageLinks.length; i++) {
imageLinks[i].addEventListener('click', function(e) {
e.preventDefault()
BigPicture({
el: e.target,
gallery: '#image_container',
loop: true,
})
})
}
})()
Все нормально отрабатывает увеличивает изображения, НО показывает по три одного и того же изображения, т.е. выбирает ссылки не только из тега img но и из source. Как бы сохранив использвание webp подправить вызов этого скрипта, но чтобы не "индексировались" все три ссылки на фотографии.