Ленивая загрузка изображений проблема с предварительным отображением изображений?

Коллеги, нужна помощь, "бью в колокола":
Необходимо сделать "ленивую загрузку" изображений, тоесть, что пользователь видит (,...), то и загружается, иначе стоит изображение с загрузкой картинки и после того как загрузилось, замещает предыдущую.
Задача в том чтобы сделать все это с JQuery, посоветовали использовать скрипт Unveil.js, но там предусмотрены такие правила:
Оригинал моего:
<img src="..." alt="...">
Нужно:
<img src="..." data-src="..." alt="...">, где data-src - оригинальное изображение, src - изображение с загрузкой.
Я сделал замену с помощью JQuery:
$("img").not("div.counters img").each(function(){
		var src = $(this).attr("src");
		$(this).attr("data-src", src);
	//	Временное изображение
		$(this).attr("src", "http://www.reverta.lv/images/loading.gif");
	});

И после того как мои теги приходят в надлежащий вид, делаю ленивую загрузку:
$("img").not("div.counters img").unveil(200);
Только перед тем как поменять теги, все оригинальные изображение загружаются/отображаются и затем меняются на изображения с загрузкой -> Unveil().
Вопрос: Как не отображать оригинальные изображения, а сразу менять теги и подключать unveil?
  • Вопрос задан
  • 3540 просмотров
Решения вопроса 2
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Замену лучше сделать на стороне сервера. Как и где Вы вставляете код замены Вашего кода на тот, что нужен? Может ссылку кинете?
Ответ написан
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
По-хорошему, никак.

Максимум, доступный вам — после каждого изображения вставлять скрипт для обработки его кода, и это всё равно не даст гарантий от начала загрузки его содержания.

Но вы же не можете менять код. Следовательно должны дождаться окончания формирования DOM. А если браузер считает, что должен начать загружать изображение до окончания формирования DOM?

В общем, @iiil уже дал верный совет — меняйте код на сервере. Иначе всё равно будет не то, что вы хотели.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час