rollover + preload

  • Creatore Discussione Creatore Discussione yarla
  • Data di inizio Data di inizio

yarla

Nuovo Utente
16 Ott 2006
2
0
0
ciao!
come capirete sono alle prime armi con il javascript è ho il seguente
problema:


ho due immagini alle quali voglio applicare un rollover al passaggio del
mouse, utlizzo quindi il seguente codice:

<img src="home.jpg" onMouseOver="this.src='home-B.jpg';"
onMouseOut="this.src='home.jpg';">

fin qui tutto bene. Il problema è che ora vorrei fare un preload di queste
immagini ed utilizzo quindi il seguente codice inserito nell'head:

{
i1=new Image;
i1.src='home.jpg';
i2=new Image;
i2.src='home-B.jpg';
}

dopo aver inseirto questo preload, come dovrà cambiare la riga di codice
relativa al rollover?

io pensavo così:
<img src="home.jpg" onMouseOver="this.src=i2.src;" onMouseOut="this.src=i1.src;">

ma ovviamente non funziona.. dove sbaglio?


grazie per qualsiasi aiuto!
 
è proprio il codice che sto usando,
quel che mi chiedo è se una volta che ho scritto di precaricare le immagini che uso nel rollover, posso lasciare il codice di quest'ultimo invariato o devo cambiare qualcosa.

tipo:
onmouseover="this.src='home.jpg'

dopo aver messo questo preload:
i1=new Image;
i1.src='home.jpg';

deve diventare:
onmouseover="this.src='i1.src' ..?

o posso lasciare come prima che cmq il preload è già stato fatto?
 
Io direi... prova, se non funziona lo puoi dire tu a noi dopo averlo fatto, non noi a te andando per un'idea :)

Io comunque dico di si, e se le immagini di rollover non sono troppo grosse puoi anche risparmiartelo del tutto...
 
è proprio il codice che sto usando,
quel che mi chiedo è se una volta che ho scritto di precaricare le immagini che uso nel rollover, posso lasciare il codice di quest'ultimo invariato o devo cambiare qualcosa.

tipo:
onmouseover="this.src='home.jpg'

dopo aver messo questo preload:
i1=new Image;
i1.src='home.jpg';

deve diventare:
onmouseover="this.src='i1.src' ..?

o posso lasciare come prima che cmq il preload è già stato fatto?


Il codice per il rollover rimane invariato.
A te interessa solo che le immagini vengano caricate prima del passaggio del mouse, per evitare quel fastidioso effetto asincrono tra passaggio mouse e la visualizzazione dell' img di rollover.
Quindi il percorso che andrai ad inserire, sarà quello dell'immagine stessa e non nella variabile definita in javascript.

Ovviamente la funzione di preload va richiamata nel body della pagina e non nella funzione del rollover. es: <body onLoad=javascript: preload();>

Ciao
 

Discussioni simili