Oppure

Loading
26/04/12 15:31
Lidirot
salve a tutti
il problema che mi si pone è il seguente:
devo realizzare un immagine statica che si animi quando ci si passa sopra con il mouse. quindi ho sfruttato la seguente stringa di html:

<td><a href="fornitore.cfm"><img id="SlideShow" src="forn4.gif" height="60px" width="60px" name="SlideShow" onmouseover=runSlideShow() onmouseout="src='forn4.gif'";) /></a></td>

la funzione richiamata è la seguente:

function runSlideShow(){

    if (document.all){
        document.images.SlideShow.style.filter="blendTrans(duration=2)"
        document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
        document.images.SlideShow.filters.blendTrans.Apply()
    }
    document.images.SlideShow.src = preLoad[j].src
    if (document.all){
        document.images.SlideShow.filters.blendTrans.Play()
    }
    j = j + 1
    if (j > (p-1)) j=0;
    if (j!=0)
        t=setTimeout('runSlideShow(0)',slideShowSpeed);
}

il problema, ovviamente, è che la funzione va in loop perchè ricorsiva senza opzione. quello che vorrei mettere è l'uscita dalla funzione quando l'utente sposta il mouse dall'immagine, quindi una cosa tipo

if (onmouseout==false)
t=setTimeout('runSlideShow(0)',slideShowSpeed);


e credo che in questo modo dovrebbe uscire in caso il puntatore non sia più sull'immagine.
il problema è che non so come ottenere lo stato del puntatore all'interno della funzione.
qualcuno mi può aiutare? grazie in anticipo :) ciao
Ultima modifica effettuata da Lidirot 26/04/12 15:32
aaa
28/04/12 5:57
Sevenjeak
Prova modificando il codice html, che definisce l'immagine, in questo modo:

<img id="SlideShow" src="forn4.gif" height="60px" width="60px" name="SlideShow" onmouseover="runSlideShow()" onmouseout="this.src = 'forn4.gif'; clearTimeout(t)" />


All'interno dell'attributo onmouseout ti sei dimenticato di usare il this, per riferirti all'oggetto corrente ( con src li dici di riferirsi all'attributo src, ma di cosa? mentre con this.rsc gli dici di riferirsi all'attributo src di quell'elemento ), crealTimeout dovrebbe fermare l'esecuzione della funzione setTimeout().

Purtroppo il codice non l'ho provato e non saprei dirti se funziona.
aaa
07/05/12 9:08
Lidirot
grazie mille :) ho riarmeggiato un pochino modificando con il this.src e ora torna
aaa