Newsgroup: it.comp.lang.javascript
Titolo: Caricamento immagine completo...

 cerchero' un'altra donna dentro ai sogni di Tarzan...

Ciao
function aspettespera() {
for (i=0; i<document.images.length; i++)
 if(!document.images[i].complete)break;}
        if (i==document.images.length-1)
 document.location.href='mentana_f.html';
}
        else { setTimeout(1000,'aspettespera()')
;}
 }
--
--
Bye
Ro<*¿*>berto

 }
Sei un grande... non solo per la risposta, ma anche e soprattutto per
lo smile ;o))


 }
Niente da fare... il fedigrafo continua a non funzionare.
Forse e' meglio che mi sieda una attimo e spieghi bene quel che
intendevo fare: al fine di far comparira una pagina "di botto" vorrei
creare una pagina di transizione per il preload.
Esempio, carico index.html per passare a index2.html, dentro
index.html provo con:
<script language="JavaScript"><!--
////numero totale immagini
var totale = 3;
var Img = new Array(totale-1);
var finite = 0;
for (i=0; i<totale; i++) { Img[i] = new Image() }
///Elenco delle sources:
Img[0].src = "img/logo.gif";
Img[1].src = "img/3_6.gif";
Img[2].src = "img/7_8.gif";
while (finite < totale) {
  finite = 0;
  for (i=0; i<immagini; i++) {
    if (Img[i].complete) finite++;
  }
}
document.location.href='index2.html';
</script>
Ma non va.
Ho dovuto abbandonare il setTimeout perche' dopo un tot di chiamate
Netscape cominciava a risentirsi, e mi diceva che il setTimeout non
aveva paramtri... :-?


On Wed, 01 Sep 1999 18:41:34 GMT, 
bale...@antispam.dada.it
 (Marco
Balestra) wrote:
Continuo a rispondermi da solo, ma non perche' sia schizofrencico
(almeno credo ;-)) quanto perche' ho risolto....
<script language="JavaScript"><!--
////numero totale immagini
var immagini = 3;
var Img = new Array(totale-1);
var finite = 0;
for (i=0; i<totale; i++) { Img[i] = new Image() }
///Elenco delle sources:
Img[0].src = "img/logo.gif";
Img[1].src = "img/3_6.gif";
Img[2].src = "img/7_8.gif";
function aspettespera() {
  for (i=0; i<immagini; i++) { if (!Img[i].complete) break;}
  if (i>immagini-1) { document.location.href='index2.html';}
  else { setTimeout(1000,'aspettespera()');}
  }
// --> </script>
</head>
<body bgcolor="#FFFFFF" onLoad="aspettespera()">
...
Ok, sono stanco e ancora in ufficio: pessima combinazione.
Ti ringrazio ancora, e vado a nanna!
P.S.: il lavoro finito serviva per le pagine realizzate da un mio caro
amico, 
http://web/tiscalinet.it/mentanafestival
, ma lui e' solo e
soltanto grafico: si fa le font a mano e ci costruisce le immagini
(come e' il caso di questo sito), ma programmare....


 aveva paramtri... :-?
con IE funzionava?!
else { setTimeout(1000,'aspettespera()' =sbagliato
else { setTimeout('aspettespera()',1000);
=giusto..
scusa, non ci avevo guardato prima..:(


scusa, non ci avevo guardato prima..:(
'zzo, hai ragione! E lo sapevo pure... Ora lo metto a posto, ma tutto
sommato anche se male funzionava: "statava" una costante dopo un delay
che era il valore di ritorno inesistente di aspettespera().


Stai attento, perché nella mia esperienza document.images[i].complete
non funziona sempre su Netscape (con IE invece si).
Sono impazzito diverse volte perché una delle immagini della pagina
(la prima o magari la seconda) restavano sempre "incomplete",
nonostante fossero caricate da un pezzo. Chissà perché, è una delle
stranezze di NS.
Io ho risolto il problema con l'evento onLoad delle singole immagini,
con il quale incremento una variabile globale. Poi con un timer simile
a quello che usi testo continuamente se NumeroImmaginiCaricate (la mia
variabile globale) è uguale a document.images.length.
Così funziona sempre.
Spero di essere stato d'aiuto
Bonz