Ecco cosa intendo con "asincrona" (ti conviene prima svuotare la cache per poter vedere il caricamento delle immagini in tempo reale):

codice:
<!doctype html>
<html>
<head>
<script type="text/ecmascript">
function test() {
	var aImg = ["http://forum.html.it/forum/images/smilies/smile.gif", "http://forum.html.it/forum/images/smilies/frown.gif", "http://forum.html.it/forum/images/smilies/cry.gif", "http://forum.html.it/forum/images/smilies/biggrin.gif", "http://forum.html.it/forum/images/smilies/cool.gif", "http://forum.html.it/forum/images/smilies/zizi.gif", "http://forum.html.it/forum/images/smilies/dho.gif", "http://forum.html.it/forum/images/smilies/fiore.gif", "http://forum.html.it/forum/images/smilies/confused.gif", "http://forum.html.it/forum/images/smilies/certocerto.gif", "http://forum.html.it/forum/images/smilies/rotf.gif", "http://forum.html.it/forum/images/smilies/030.gif", "http://forum.html.it/forum/images/smilies/ciao.gif", "http://forum.html.it/forum/images/smilies/jam.gif", "http://forum.html.it/forum/images/smilies/dotto.gif", "http://forum.html.it/forum/images/smilies/old.gif", "http://forum.html.it/forum/images/smilies/sbav.gif", "http://forum.html.it/forum/images/smilies/stordita.gif", "http://forum.html.it/forum/images/smilies/fagiano.gif", "http://forum.html.it/forum/images/smilies/nondirlo.gif", "http://forum.html.it/forum/images/smilies/noncisiamo.gif", "http://forum.html.it/forum/images/smilies/mame.gif", "http://forum.html.it/forum/images/smilies/ammore.gif", "http://forum.html.it/forum/images/smilies/metallica.gif", "http://forum.html.it/forum/images/smilies/electric_g.gif", "http://forum.html.it/forum/images/smilies/sonno.gif", "http://forum.html.it/forum/images/smilies/mmmm.gif", "http://forum.html.it/forum/images/smilies/sgrat.gif", "http://forum.html.it/forum/images/smilies/tupitupi.gif", "http://forum.html.it/forum/images/smilies/incupito.gif", "http://forum.html.it/forum/images/smilies/senzasperanza.gif", "http://forum.html.it/forum/images/smilies/sbonk.gif", "http://forum.html.it/forum/images/smilies/nillio.gif", "http://forum.html.it/forum/images/smilies/d56.gif", "http://forum.html.it/forum/images/smilies/ciapet.gif", "http://forum.html.it/forum/images/smilies/scalata.gif", "http://forum.html.it/forum/images/smilies/blink.gif", "http://forum.html.it/forum/images/smilies/eek.gif", "http://forum.html.it/forum/images/smilies/saggio.gif", "http://forum.html.it/forum/images/smilies/timida.gif", "http://forum.html.it/forum/images/smilies/ecco.gif", "http://forum.html.it/forum/images/smilies/sadico.gif", "http://forum.html.it/forum/images/smilies/popcorn.gif", "http://forum.html.it/forum/images/smilies/look.gif", "http://forum.html.it/forum/images/smilies/confermo.gif"];
	var len = aImg.length;
	var iImg = 0;
	var thisImg = null;
	function recursiveLoad() {
		if (thisImg) {
			thisImg.onload = null;
			thisImg.onerror = null;
		}
		thisImg = document.createElement("img");
		thisImg.src = aImg[iImg];
		document.body.appendChild(thisImg);
		if (iImg < len - 1) {
			thisImg.onload = recursiveLoad; 
			thisImg.onerror = recursiveLoad;
		}
		iImg++;
	}
	recursiveLoad();
	alert("E' partito il caricamento... ma se leggi questo messaggio prima che tutte le immagini siano caricate, e' perche' la funzione e' asincrona...! Questo messaggio di alert e' stato inserito dopo la chiamata della funzione recursiveLoad()!");
}
</script>
</head>
<body onload="test();">
</body>
</html>