Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Image pre-loader (https://javascript.ru/forum/misc/3684-image-pre-loader.html)

ViZ0R 14.05.2009 09:48

Image pre-loader
 
Не могу разобраться в предзагрузке картинок, например

var imageCache = new Array();
var imagePath = new Array ("image1.png", "image2.png", "image3.png");

_PreloadCount =0;
for (var i=0; i<imagePath.length; i++) {
	var imageObj = new Image();
	imageObj.onload=preLoader;
	imageObj.src=imagePath[i];
	imageCache.push(imageObj);
}	

function preLoader() {
	_PreloadCount++;	
	
	if (_PreloadCount == imageCache.length) {
		PageInit();		
	}	
}


Проблема в том что обработчик preLoader по идее должен вызываться столько раз, скольок загружено картинок (в данном примере 3 раза), а вызывается с периодичностью около секунды бесконечно.
Кто-нибудь занет почему так? :blink:

e1f 14.05.2009 16:49

Ну, во-первых, наверное, лучше _PreloadCount == imagePath.length, а во-вторых, у меня работает 3 раза. Что делает PageInit()? Может, проблема в ней?

ViZ0R 14.05.2009 20:37

PageInit() просто отображает слой document.getElementById(id).style.display = 'block';

Проблема именно в preLoader, если засунуть туда alert, то он будет срабатывать без конца, примерно через секунду

Gvozd 14.05.2009 20:42

скиньте архив с вашим скриптом и картинками.

посмотрим.
так ошибки никакой и не видно в общем-то


Часовой пояс GMT +3, время: 16:05.