PDA

View Full Version : [JS] OnLoad Sincronizzato


the_al
18-08-2002, 16:50
Allora io ho una pagina iniziale dove appaiono due GIF .

Io vorrei, tramite uno JS sincornizzare il caricamento di queste due.

Prima GIF: index.gif (Niente loop, una solo esecuzione)
Seconda GIF: enter.gif (che peraltro e' un link)

Vorrei precaricare la prima gif, perche' e' di dimensione non ridotte e voglio che venga eseguita alla velocita' normale e senza rallentamenti.

Allora dovrebbe funzionare cosi.

La prima GIF si precarica e viene eseguita.

Alla fine dell'esecuzione, viene caricata la seconda GIF che poi portero al resto del sito.

Vi prego, aiutatemi :D

Ringrazio in anticipo chi mi aiutera' ;)

Kugel
18-08-2002, 19:35
Il primo metodo che mi viene in mente é una combinazione tra l'opzione onload del tag <body> e una funzione javascript che sostituisca <img name="seconda" src="blank.gif"> con <img name="seconda" src="enter.gif> solo al termine del caricamento della pagina.

Detta in linguaggio javascript:
<body onLoad="document.images['seconda'].src='enter.gif';">

Tenendo presente che nella pagina html ci deve essere
<img name="seconda" src="trasparente.gif" border="0" height="X" width="Y">

Con
X e Y --> le dimensioni esatte in larghezza e altezza di enter.gif
trasparente.gif --> una gif di dimensioni qualsiasi (meglio 1pxl x 1 pxl completamente vuota e col fondo trasparente) ... in alternativa colorata come lo sfondo della pagina html ... o come vuoi.

In pratica é l'immagine che compare inizialmente e che "al termine del caricamento" verrà sostituita con l'immagine enter.gif

In teoria lo script funziona :look:
In pratica l'ho scritto adesso e non l'ho mai provato :awk:

Cmq il senso dello script é giusto, al limite si tratta di mettere qualche " al posto di qualche ' e viceversa :)

Se non funziona (ma anche se funziona :awk: ), dimmelo così o lo correggo ... o me lo salvo da qualche parte sul disco fisso :D

:hello:

the_al
18-08-2002, 21:40
Ehm forse non hai capito cosa intendo ... :D

LA GIF index.gif si precarica, e dopo averlo eseguita SOTTO (cioe' non al posto di questa) si carica la enter.gif :ghgh:

Come faccio ;) ?

Kugel
19-08-2002, 02:14
Infatti é quello che ho scritto :look:
Nel mio topic parlo di 3 gif

index.gif ... é sottintesa e sta nella pagina html

trasparente.gif ... occupa la posizione che al termine del caricamento della pagina sarà occupata da enter.gif

enter.gif ... viene chiamata dalla funzione scritta nell'opzione onload del tag body

Tutto quello che devi fare é
Prendere il punto dove dovrà comparire l'immagine enter.gif (quindi il tag <img ........... > )
Impostargli la proprietà src assegnandole il valore trasparente.gif (gif trasparente di 1 pxl x 1 pxl completamente vuota)
Inserire in questo tag l'opzione "name" e dargli il nome che viene utilizzato nello script chiamato da onload.
Inserire nel tag body l'opzione onload esattamente con i parametri che ti ho segnato io nel reply :)

:hello:

the_al
19-08-2002, 10:28
Ho fatto tutto come hai detto tu (giusto) ma le due gif si caricano allo stesso tempo.
Cioe' prima che finisca l'esecuzione di index,gif, enter.gif viene gia eseguita... :(

the_al
19-08-2002, 16:02
Ho un idea migliore, e' meglio se lascio solo una GIF e metto quella per accedere a tutto il resto del sito :D

Come faccio a fare il preload delle immagini? :)