Я искал подобное решение. У меня есть галерея изображений на веб-сайте, которая загружает дюжину высококачественных изображений на главной странице с помощью плагина для слайд-шоу. И все эти изображения загружаются одновременно, добавляя 2-3 мегабайта к весу страницы. Нет кости.
Nivo оставляет обработку изображений до браузера. Он читает тег <img src="...">
, а затем склеивает изображения в слайд-шоу с эффектами плавного перехода. В коде нет ничего, что могло бы контролировать загрузку или предварительную загрузку изображений.
К счастью, Ниво на Github. Поэтому я раздвоил его для поддержки отложенной загрузки изображений:
https://github.com/leepowers/Nivo-Slider
Использование такое же. С одним небольшим изменением в HTML
<div id="slider">
<img src="my-large-image.jpg" alt="">
<img src="my-large-image2.jpg" alt="">
<img src="another-biggun.jpg" alt="">
</div>
Изменить атрибуты изображения src
на data-src
атрибуты:
<div id="slider">
<img data-src="my-large-image.jpg" alt="">
<img data-src="my-large-image2.jpg" alt="">
<img data-src="another-biggun.jpg" alt="">
</div>
Поскольку data-src
не анализируется, изображения не загружаются, пока Nivo не будет готова их использовать. data-src
имеет приоритет над src
, что означает, что вы можете указать версии с низким разрешением в src
для пользователей, не поддерживающих JavaScript, или заполнить src
спейсерным изображением, чтобы HTML прошел валидатор.
Проверьте это! Я реализую это на нескольких проектах. Демоверсия доступна здесь: http://powers1.net/files/nivo/demo/demo-lazy.html