@WebforSelf

Как использовать fancybox и lazy load вместе?

Вопрос такого плана
Использую фансибокс
https://fancyapps.com/fancybox/3/docs/#ajax
и ленивую загрузку
jquery.eisbehr.de/lazy/#installation

Так вышло что и то и то должно быть на одном блоке

<a data-fancybox data-type="ajax" data-src="products/{$product->url}?preview" class="item__img lazyload" {if $product->image} style="background-image: url();"{/if}></a>


То есть для подгрузки аякса
data-src="products/{$product->url}?preview"
используется data-src и для lazy load тоже нужен атрибут data-src.

Как мне их обьединить?
  • Вопрос задан
  • 639 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WebforSelf Автор вопроса
<a data-fancybox data-type="ajax" href="products/{$product->url}?preview" class="item__img lazy" data-src="{$product->image->filename|resize:1200:1200}" {if $product->image} style="background-image: url({$product->image->filename|resize:1200:1200});"{/if}></a>


Ну покопавшись в fancybox, там можно отказаться от data-src , но lazy все равно выдает ошибку

jquery.lazy.js:514 Uncaught TypeError: Cannot read property 'attr' of undefined

.attr(_srcset, element.attr(srcsetAttribute)) ругается на эту строчку

// do it as single 'attr' calls, to be sure 'src' is set after 'srcset'
                var imageSrc = (_isRetinaDisplay && elementRetina ? elementRetina : element.attr(srcAttribute)) || '';
                imageObj.attr(_sizes, element.attr(sizesAttribute))
                        .attr(_srcset, element.attr(srcsetAttribute))
                        .attr(_src, imageSrc ? imageBase + imageSrc : null);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы