Newsgroup: it.comp.lang.javascript
Titolo: Far partire un TIMER con ondbclick... come posso fare ?

Ciao!!
Ho un problemino, ho creato una pagina HTML con delle immagini che
cambiano stato cliccandoci sopra due volte e tornano allo stato
iniziale cliccando una volta, ho usato questo tag:
<img border='0' src="immagine.gif"
ondblclick='this.src="immagine2.gif"'
onClick='this.src="immagine.gif"'>
Ora vorrei associare al doppio Click (cambio stato) un Timer che parte
e si ferma nel momento in cui torno allo stato iniziale con un click.
Come posso fare ? Mi serve un timer semplicissimo con secondi/minuti/
ore e magari anche giorni ma non è importante.
Non so ne come creare il tag html ne dove trovare un Timer java da
associare, o si può creare anche senza java ?
Grazie a tutti, ciao!

 associare, o si puň creare anche senza java ?
javascript, non java
-- 
"e mai che mi sia venuto in mente
 di essere piů ubriaco di voi
 di essere molto piů ubriaco di voi"
									  F.D.A.

                                                                           F.D.A.
Non sono molto esperto, se non vedo degli esempi mi impallo ;-)
Hai dei link dove ci sono esempi pratici ?

 Hai dei link dove ci sono esempi pratici ?
Nel link che ti ho postato c'è un esempio.
con google "javascript setTimeout" trovo 244.000 risultati.
Sostanzialmente con setTimeout esegui una function dopo tot millisecondi;
restituisce un handler che, se te lo salvi, ti permette di cancellare il
Timer con clearTimeout.
Questo dovrebbe andare bene per la tua richiesta; nel caso ti segnalo che
esiste anche setInterval che, a differenza di setTimeout, esegue una
function *ogni* tot millisecondi (anziché 1 volta solo dopo tot
millisecondi)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 ore e magari anche giorni ma non è importante.
E se il timer non viene fermato torna la prima immagine, giusto?
Vedi se codice sotto può andare:
<script type="text/javascript">
function cambiaImg(){
document.images[0].src="immagine.gif";
clearTimeout("60000"); //non funge :-/
}
function cambiaImg2(){
document.images[0].src="immagine2.gif";
setTimeout("cambiaImg()",60000); //1 minuto
}
</script>
<img ondblclick="cambiaImg2()" onclick="cambiaImg()" src="immagine.gif">
Considera che (colpa mia ignoranza) non sono riuscito a far funzionare
il clearTimeout, per cui torna allo stato iniziale (prima immagine), ma
il timer non viene azzerato.
Spero che qualcuno ci dia un aiuto. :-)
    ...skipped!
-- 
    * b *
  *   y   *
*   Piero   *
[ /panem et circenses/ ] 

 Spero che qualcuno ci dia un aiuto. :-)
var ret = setTimeout('alert("You\'ll never see this");', 1000);
clearTimeout(ret);
-- 
Increased cost of life? Eat plasma panels!

 clearTimeout(ret);
Non funziona, FF dà Errore: can't convert "ret" to an integer.
Avevo già provato questo con lo stesso risultato:
<script type="text/javascript">
function cambiaImg(){
document.images[0].src="immagine.gif";
clearTimeout("xt");
}
function cambiaImg2(){
document.images[0].src="immagine2.gif";
xt=setTimeout("cambiaImg()",10000);
}
</script>
<img ondblclick="cambiaImg2()" onclick="cambiaImg()" src="immagine.gif">
al click su immagine2.gif (seconda img) il timeout si dovrebbe azzerare.
-- 
    * b *
  *   y   *
*   Piero   *
[ /deus ex machina/ ] 

 clearTimeout("xt");
clearTimeout(xt);
PS: attento all'uso indiscriminato di variabili globali
-- 
Local candidates only, no relocation

 PS: attento all'uso indiscriminato di variabili globali
Ok, ma anche se uso "var xt=" non cambia nulla.
-- 
    * b *
  *   y   *
*   Piero   *
[ /errare humanum est/ ] 

 Ok, ma anche se uso "var xt=" non cambia nulla.
peggio ancora: se usi "var" la variabile xt e' locale alla funzione e
non esistera' al suo esterno. Per questo dicevo sta' attento alle
variabili globali. In questo caso sarebbe piu' conciso e pulito l'uso di
oggetti JS.


 }
It's ok!
Anche l'OP sarà contento. :-)
    ...skipped!
-- 
    * b *
  *   y   *
*   Piero   *
[ /in medio stat virtus/ ]