Как заставить картинки грузиться по очереди?

D1
На сайте с 05.05.2004
Offline
280
1504

Как заставить браузер грузить картинки строго по очереди, а не все сразу?

На сайте "Свадебное фото" есть страницы портфолио, где размещаются достаточно тяжелые снимки (ведь именно они должны зацепить посетителя). Хочется чтобы можно было смотреть картинки по мере появления (по одной), а не ждать пока они все сразу открываются понемногу в IE и Opera.

psylosss
На сайте с 23.12.2005
Offline
126
#1

Косвенные варианты решения (не знаю, правда, насколько подходят в конкретном случае):

1. Сделать слайд-шоу (грузить по одной картинке. Под фотографией - список номеров фотографий [1][2][3] 4 [5][6]..)

2. Сделать страницу превьюшек, по открывается увеличенное изображение.

К сожалению помочь именно в том, что ты просишь, не могу - не знаю как.

Веб-разработка. Сложные проекты. Проектирование. Проект-менеджмент. Стартапы.
[Удален]
#2

denis1981, сделать вывод картинок скриптом и ограничить количество процессов этого скрипта на один IP адрес. Работать будет, но не всегда... Если страница закэширована какой-нить проксей, то не сработает... Да и вообще... кривое решение кривой задачи. :)

На мой взгляд, лучше сделать страницу с превьюхами больших картинок.

G
На сайте с 17.01.2006
Offline
23
#3

Помогает иногда правильное табличное решение - не засовывать весь контент в одну большую таблицу, а писать таблицу за таблицей. Браузер будет загружать html-код по-таблично. Это оптимизирует загрузку страницы, но поможет ли с картинками - надо опытным путем попробовать.

Ceres
На сайте с 28.09.2004
Offline
389
#4
Помогает иногда правильное табличное решение - не засовывать весь контент в одну большую таблицу, а писать таблицу за таблицей. Браузер будет загружать html-код по-таблично. Это оптимизирует загрузку страницы, но поможет ли с картинками - надо опытным путем попробовать.

обычно помогает.

Там чу-де-са! )
T
На сайте с 23.10.2005
Offline
60
#5

Дак грузил или показывал?

Если грузил, то в JS перед body такой:

pic = new Image();

pic.src = "http://pic.ext";

и так для каждой. Т.е. скрипт перед загрузкой страницы создаст(загрузит) картинки и они будут уже в кеше браузера. Навороты сам доделывай.

K
На сайте с 21.01.2005
Offline
74
#6
denis1981:
Как заставить браузер грузить картинки строго по очереди, а не все сразу?

Я использую примерно следующий код:


<head>

<script language="JavaScript" type="text/javascript"><!--
preload = new Image();
pictures = new Array(6);
pictures[0] = "/pictures/498m.jpg";
pictures[1] = "/pictures/499m.jpg";
и т.д.

function next(index) {
if (pictures) {
if (index < pictures.length - 1) {
index++;
} else {
index = 0;
}
setTimeout("slideShow(" + index + ")",3000);
preload.src = pictures[index];
}
}

function slideShow (index) {
var slide = document.getElementById("slide");
if (slide) {
if (pictures) {
slide.src = preload.src;
next(index);
}
}
}
//--></script>
...
</head>

<body onLoad="next(0);" >
...
<img id="slide" src="/pictures/498m.jpg" >
...
</body>

Крыленко и Ко (http://www.krylenko.com) | ePayments - удобный способ вывода платежей (https://www.epayments.com/registration?p=D5224FD731)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий