Ciao,
Ho una semplicissima funzione javascript che nasconde un div,
vorrei che dal momento in cui la funzione viene chiamata al momento in cui il div viene nascosto passasse mezzo secondo.
Come fare?
Grazie a tutti
Ciao,
Ho una semplicissima funzione javascript che nasconde un div,
vorrei che dal momento in cui la funzione viene chiamata al momento in cui il div viene nascosto passasse mezzo secondo.
Come fare?
Grazie a tutti
http://www.easymemo.it - vCard ed agenda
[battuta] cosa e` il ritardardo? una freccia che arriva in ritardo?[/battuta]
Puoi usare la funzione setTimeout() :
setTimeout('funzione("ev.parametri")', 500);
mettilo esattamente dove avevi la tua funzione.
Se non capisci posta il codice: e` difficile far modifiche su un codice che non si vede.
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
al posto di richiamare la tua funzione chiama la funzione Ritardo() che dopo mezzo secondo richiamerà la tua funzione.
codice:<script> function tuaFunzione(){ //...... } function Ritardo(){ window.setTimeout("tuaFunzione()",500) } </script>![]()
Ciao,
in realtà sto utilizzando la funzione di dreamweaver, e la chiamo così:
setTimeout('MM_showHideLayers(''sistemi'','''',''h ide'')', 1000);
originariamente era così:
MM_showHideLayers('sistemi','','hide')
Solo che mi da un errore di parentisi ) mancante alla fine della riga.
Mi sembra tutto giusto, ma non so...
Per occhio crepato, purtroppo la funzione di dreamweaver è incasinata, quando la chiami gli passi tre parametri, ma in realtà quando la funzione viene dichiarata non prende niente in ingresso...
è così:
function MM_showHideLayers()
{
}
http://www.easymemo.it - vCard ed agenda
Mi sembra un errore di apici.
prova cosi`:Nota che ho scambiato apici e virgolette rispetto al mio primo post.codice:setTimeout("MM_showHideLayers('sistemi','','hide')", 500);
Non puoi giudicare le funzione di MM da quello che vedi: di solito sono incasinate al massimo (credo che lo siano apposta), e non riesci a capirle, se non con studi approfonditi.
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Mi dice errore di sintassi...
http://www.easymemo.it - vCard ed agenda
L'ultima sintassi che ti ho dato non dovrebbe avere errori, ma non puo` stare dentro ad altre virgolette o apici (ad esempio dentro un evento HTML).
In quel caso devi usare la sintassi di OcchioCrepato.
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
Ho riscritto la funzione MM_showHideLayers, adesso al mouse over viene mostrato il livello (un menu a tendina) al mouseout viene chiamata la funzione ritardo che nasconde il livello dopo 100 millisecondi.
Però vorrei che se l'utente rimetta il mouse sul tasto prima che sia scaduto il time out l'azione venga annullata. Cioè se l'utente esce e rientra velocemnte sul tasto il livello non deve sparire.
codice:function MM_showHideLayers(livello, stato) { //v6.0 if (stato=='vis'){ document.getElementById(livello).style.visibility='visible' } if (stato=='nasc'){ document.getElementById(livello).style.visibility='hidden' } } function Ritardo(livello, stato){ window.setTimeout("MM_showHideLayers('" + livello + "', '" + stato + "')",100) }
Graqzie ancora
http://www.easymemo.it - vCard ed agenda
Devi fare un clrTimeout appena entrato nella funzione.
Ti serve pero` una variabile globale per passare il timer:
PS. Se modifichi una funzione di altri non dovresti tenere un nome probabilmente coperto da copyright (dovresti togliere il MM_ iniziale).codice:var ttt; function MM_showHideLayers(livello, stato) { //v6.0 window.clrTimeout(ttt); if (stato=='vis'){ document.getElementById(livello).style.visibility='visible' } if (stato=='nasc'){ document.getElementById(livello).style.visibility='hidden' } } function Ritardo(livello, stato){ ttt = window.setTimeout("MM_showHideLayers('" + livello + "', '" + stato + "')",100) }
Ciao
Michele
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati