Ленивая загрузка изображений — это техника, которая позволяет улучшить производительность вашего сайта, откладывая загрузку изображений до тех пор, пока они не станут видимы для пользователя. В этой статье мы рассмотрим, как реализовать ленивую загрузку изображений на вашем сайте.
Шаг 1: Подготовка изображений
Для начала, вам нужно подготовить изображения для использования на вашем сайте. Убедитесь, что они оптимизированы и сжаты для лучшей производительности. Вы можете использовать инструменты, такие как ImageOptim или TinyPNG.
Шаг 2: Создание разметки HTML
Добавьте свои изображения на страницу с использованием тега <img>
. Вместо атрибута src
, используйте data-src
. Это позволит отложить загрузку изображения до тех пор, пока ленивая загрузка не будет активирована. Также добавьте класс lazy
для управления стилями и скриптами.
Пример разметки:
<img data-src="path/to/image.jpg" alt="Описание изображения" class="lazy">

Шаг 3: Реализация ленивой загрузки с помощью JavaScript
Теперь нужно добавить скрипт, который будет активировать ленивую загрузку изображений. Мы будем использовать IntersectionObserver
для отслеживания видимости изображений на экране.
document.addEventListener('DOMContentLoaded', function() { const lazyImages = [].slice.call(document.querySelectorAll('img.lazy')); if ('IntersectionObserver' in window) { const lazyImageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { const lazyImage = entry.target; lazyImage.src = lazyImage.dataset.src; lazyImage.classList.remove('lazy'); lazyImageObserver.unobserve(lazyImage); } }); }); lazyImages.forEach(function(lazyImage) { lazyImageObserver.observe(lazyImage); }); } else { // Здесь можно добавить резервное решение для старых браузеров, не поддерживающих IntersectionObserver } });
Этот скрипт активирует загрузку изображения, когда оно становится видимым на экране, и удаляет класс lazy
, когда загрузка завершена.

Шаг 4: Добавление стилей для плавного появления изображений
Чтобы изображения появлялись плавно после загрузки, добавьте следующие стили CSS:
img.lazy { opacity: 0; transition: opacity 0.2s; } img:not(.lazy) { opacity: 1; }
Теперь ваш сайт использует ленивую загрузку изображений, что поможет улучшить его производительность и ускорить время загрузки страниц.
Не забудьте, что для освоения веб-разработки нужно много практики и терпения. Если вы ищете хорошую школу для обучения, рекомендую вам обратить внимание на

Добавить комментарий