Preload Immagini e Immagine

zannas

Utente Attivo
9 Nov 2003
37
0
0
32
Padova
zannas.netsons.org
Salve ho un problema non da poco...(sono giorni che vi ronzo attorno).
Allora voglio che prima del caricamento di alcune immagini venga visualizzata un'altra immagine (loader) sino a quando l'immagine è caricata. Il problema non sussiste con un'immagine:
Codice:
var XMLHttp = null;

try {
	(XMLHttp=new ActiveXObject("Msxml2.XMLHTTP"))
} catch(e) {
	try {
		(XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")) }
	catch(e) {
		XMLHttp=new XMLHttpRequest();
	}
}

function loadimg_unica(id,src_da_caricare) {
	var img = document.getElementById(id);
	img.src = 'img/indicator_arrows.gif';
	
	XMLHttp.onreadystatechange = function () {
		
		switch (XMLHttp.readyState) {
		case 0:
			alert('Errore, contatta Zannas');
		break;
		case 1:
		break;
		case 2:
		break;
		case 3:
		case 4:
			if (XMLHttp.status==200) {
				img.src = src_da_caricare;
			}
		break;
	}
	}
	XMLHttp.open("GET",src_da_caricare,true);
	XMLHttp.send(null);
}
il problema nasce quando devo fare questo con una serie di immagini al caricamento della pagina.
Ho provato con questo ma non mi funziona...sapete darmi una mano???
Codice:
var XMLHttp = null;

try {
	(XMLHttp=new ActiveXObject("Msxml2.XMLHTTP"))
} catch(e) {
	try {
		(XMLHttp=new ActiveXObject("Microsoft.XMLHTTP")) }
	catch(e) {
		XMLHttp=new XMLHttpRequest();
	}
}

function loadimg (riferimento) {
	try {
	var all_images = document.getElementsByTagName('img');
	thumb = new Array();
	var src_originale = new Array();
	
	espressione = new RegExp('^'+riferimento);
		
	for (i = 0; i < all_images.length; i++) {
		if	(espressione.test(all_images[i].id)) {
			thumb.push(all_images[i]);
			src_originale.push(all_images[i].src);
		}
	}
	
	for (n = 0; n < thumb.length; n++) {
		thumb[n].src = 'img/indicator_arrows.gif';	
		XMLHttp.onreadystatechange = handle_loadimg(thumb,src_originale,n);
		XMLHttp.open("GET",src_originale[n],true);
		XMLHttp.send(null);
	}
	} catch (e) {  }
}

function handle_loadimg(array_thumb,array_src_originale,i) {
	var thumb = array_thumb;
	var src_originale = array_src_originale;
	var n = i;
	
	switch (XMLHttp.readyState) {
		case 0:
			//alert('errore');
		break;
		case 1:
		break;
		case 2:
		break;
		case 3:
		case 4:
			alert('c sono arrivato');
			if (XMLHttp.status==200) {
				thumb[n].src = src_originale[n];
			}
		break;
	}
}
onload = loadimg('thumb');