Newsgroup: it.comp.lang.javascript
Titolo: [help] azione a caricamento completato sul serio!

ciao,
devo mostrare una tabella con 50 immagini dinamiche, alcune possono
mancare, quindi ho messo un "onerror" per caricare un "nofoto.gif"
Per non far vedere la tabella in caricamento ho creato 2 layer: 1 con
la tabella (display:none) e uno con "in caricamento".
Ho messo sul body: onload nascondi "in caricamento" e mostra la tabella.
Succede però che la tabella non è ancora completa!
Come dovrei fare?
Grazie, Ottavio
Sent via Deja.com 
http://www.deja.com/
Before you buy.

 Come dovrei fare?
spero di avere capito capito bene. mi apsetterei anch'io che l'onLoad scatti
solo al caricamento di titte le immagini.
Dalla documentazione dell'HTML4.0 leggo che non esiste l'onLoad per le IMGs,
quindi dovresti precaricarle
for (var i=0; 1<50; i++)
{
  eval( 'n'+i+'foto' + " = new Image(); ");
  eval( 'n'+i+'foto' + ".scr = \'" + 'n'+i+'foto.gif' + "\'; ");
}
...prova un po'...
ciao
--
    Federico Sasso &8v>
 
http://www.crt.unige.it/jsSQL
    The jsSQL Project - JavaScript Database and SQL Engine


potresti ad esempio dare un valore ad una variabile in base all'onLoad di
ogni immagine verificando cos'ì se l'immagine è caricata e condizionando la
funzione che mostra il livello in modo che solo quando la variabile ha il
valore dato dal caricamento di tutte le immagini parta la funzione stessa e
mostri il livello ..
andreotta fabiano
WebMªster ATI POWER s.n.c.
andr...@atipower.it
http://www.atipower.it
http://www.aticommerce.com
http://www.afdsoftware.freeweb.org
http://www.jsdir.com
http://www.javascript.3000.it

 andreotta fabiano
Dato che le immagini possono variare anche di numero (dipende dai
record del db) ho usato numero=document.images.length, se fosse x: se
variabile == x allora procedi.
Ma come metto una variabile al caricamento dell'immagine? Se la foto
non c'è carica nofoto.gif
lo status ready è sulla prima soltanto?
questa è l'immagine:
<img src="1.gif" onerror="javascript:tis.src='nofoto.gif'">
io faccio <body onload="controlla()"...
controlla()
if document.images(numero).readyState=="complete ....
ciao, grazie per l'aiuto!


 Come dovrei fare?
spero di avere capito capito bene. mi apsetterei anch'io che l'onLoad scatti
solo al caricamento di titte le immagini.
Dalla documentazione dell'HTML4.0 leggo che non esiste l'onLoad per le IMGs,
quindi dovresti precaricarle
for (var i=0; 1<50; i++)
{
  eval( 'n'+i+'foto' + " = new Image(); ");
  eval( 'n'+i+'foto' + ".scr = \'" + 'n'+i+'foto.gif' + "\'; ");
}
a questo punto potresti rendere visibile il tuo layer


 record del db)
????
Ma se allora allo script devi passare dei dati letti da un database, immagino 
che stai usando qualche script server-side.
Allore non puoi verificare a livello di server ("FileExist") se i files 
esistono? Così in quel caso le immagini non le passi proprio a JavaScript e 
finisce tutto li... 
Se la risposta è banale, scusami, forse non ho capito bene la domanda :-(
-- 
Ciao, Riccardo
------------------------------------------------------------------------
WebMaster: ----> 
http://www.jsdir.com
 <---- (aka 
http://www.jspoint.it
)
------------------------------------------------------------------------
               Nessun traguardo è abbastanza lontano.
------------------------------------------------------------------------