@naflove

Как использовать LazyLoad для picture source?

У меня есть стандартный скрипт LazyLoad.

jQuery(document).ready(function($) {
    const hs = $(window).innerHeight() // 720

    function lazyShowImages() {
        const sp = $(window).scrollTop() + hs
        $('img.lazy').each(function(i, e) {
            if (sp > $(e).offset().top) {
                $(e).attr('src', $(e).data('src'))
                $(e).removeClass('lazy')
            }
        })
    }

    lazyShowImages()
    $(document).scroll(lazyShowImages)
})


Но он будет работать только для обычного вывода картинок:
<img class="lazy" src"load.gif" data-src="img/image.png" alt="">


А как сделать если используется webp/avif?:
<picture>
    <source srcset="img/image.webp" type="image/webp">
    <source srcset="img/image.avif" type="image/avif">
    <img src="img/image.png" alt="">
</picture>
  • Вопрос задан
  • 43 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы