fakerplayer, давай попробуем разобраться более детально. Если встроенный атрибут `loading="lazy"` не подошел или не сработал, можно попробовать другой подход с использованием JavaScript. Вот пример, как можно реализовать lazy load с помощью Intersection Observer API, который поддерживается большинством современных браузеров: // Находим все изображения с классом 'lazy' const lazyImages = document.querySelectorAll('img.lazy'); // Определяем функцию для загрузки изображения const loadImage = (image) => { image.src = image.dataset.src; image.classList.remove('lazy'); }; // Создаем наблюдатель const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { loadImage(entry.target); observer.unobserve(entry.target); } }); }); // Наблюдаем за каждым изображением lazyImages.forEach(image => { observer.observe(image); }); JavaScript // Находим все изображения с классом 'lazy' const lazyImages = document.querySelectorAll('img.lazy'); // Определяем функцию для загрузки изображения const loadImage = (image) => { image.src = image.dataset.src; image.classList.remove('lazy'); }; // Создаем наблюдатель const observer = new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if (entry.isIntersecting) { loadImage(entry.target); observer.unobserve(entry.target); } }); }); // Наблюдаем за каждым изображением lazyImages.forEach(image => { observer.observe(image); }); И в HTML: <img data-src="https://nztcdn.com/files/1f29cafd-7658-493e-8059-c1bdf9f2fe52.webp" class="lazy" alt="Описание изображения"> HTML <img data-src="https://nztcdn.com/files/1f29cafd-7658-493e-8059-c1bdf9f2fe52.webp" class="lazy" alt="Описание изображения"> Этот код будет загружать изображения только тогда, когда они появляются в области видимости пользователя. Убедись, что у тебя правильно настроены пути к изображениям и что они загружаются с помощью `data-src`, а не `src`, до тех пор, пока не станут видимыми. Если что-то не получается или есть еще вопросы, дай знать!