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

IF

else
Как, загрузив страницу, подгружать постепенно и другие картинки?

Есть хороший пример, где это реализовано, но принцип мне непонятен.
http://www.dynamicdrive.com/dynamicindex14/swissarmy/index.htm
Никто, не сталкивался с такой проблемой?
Часто бывает полезно, например, когда хочется загрузить в кэш большие картинки, которые могут быть показаны впоследствии.
 

kruglov

Новичок
Нуу, а какие проблемы картинкам .src скриптом устанавливать?
 

IF

else
kruglov
Вы об этом?
PHP:
    var imPass = new Object();
    imPass['p'] = new Image(135, 27);
    imPass['p'].src = "pict.gif";
Я просто не знал, что они последовательно загружатся (мне всегда казалось, что все сразу, потихоньку).
Это так?
 

kruglov

Новичок
сразу, но не обязательно imPass['p'].src = "pict.gif"; делать сразу. Можно делать, у примеру, по нажатию на кнопку или еще как.

-~{}~ 06.05.08 21:25:

Или по onload документа. Типа он загрузился, показался и тут пошло фоновое "грузилово".
 

IF

else
kruglov
По onload это я тоже думал, это точно будет рабоать, но хочется найти другой способ.
Для аякса, к примеру, onload совсем не подходит.

-~{}~ 06.05.08 21:35:

John Scheuer ведь как-то решил этот вопрос. флеш отдыхает...

-~{}~ 06.05.08 21:38:

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

kruglov

Новичок
Нууу, вообще-то у картинок тоже есть onload, к примеру.

-~{}~ 06.05.08 21:56:

Для аякса, к примеру, onload совсем не подходит.
Не понял, причем тут аякс.

Весь аякс построен на схеме "послали запрос, по получении ответа на него выполнили действие".
 

IF

else
Нууу, вообще-то у картинок тоже есть onload, к примеру.
вау. пошёл учиться...

"послали запрос, по получении ответа на него выполнили действие".
насколько я знаю, onload срабатывает только тогда, когда страница загружена. при аяксе страница уже давно загружена.

-~{}~ 06.05.08 22:46:

да, пожалуй onload для Image это то, что нужно.
 

Magz

Новичок
Если грузить все картинки с друго IP-адреса, то сначала отобразится страница и часть картинок, которые успели загрузиться за время загрузки страницы, а потом будут подгружаться оставшиееся картинки.
 

Magz

Новичок
IF, извините, не до конца разобрался с вопросом. :)

-~{}~ 09.06.08 11:13:

Правильно я понимаю, что стоит задача сделать так, чтобы при нажатии на кнопку загружалась бы новая картинка, а кнопка была бы в это время недоступной? А после загрузки становилась бы вновь доступной и загружала бы следующую картинку?

-~{}~ 09.06.08 12:31:

Если понимаю правильно, то вот:
PHP:
<div id="pict" style="width: 300px; height: 300px;">
		
		</div>
	<button onclick="NewImg();" id="btn">New Image</button>
	<script language="javascript">
		var Images = Array('pict1.jpg', 'pict2.jpg');
		var curImg = 0;
		var oldImg = null;
		
		function NewImg()
		{
				document.getElementById("btn").disabled = true;
				var newImg = document.createElement('img');
				newImg.onload = function ()
				{
						document.getElementById("btn").disabled = false;
				}
				newImg.setAttribute('src',Images[curImg]);
				if (oldImg)
						document.getElementById('pict').removeChild(oldImg);
				document.getElementById('pict').appendChild(newImg);
				oldImg = newImg;
				curImg++;
				if (curImg == Images.length)
						curImg = 0;
		}
	</script>
А если нет, то расскажите подробнее :)
 
Сверху