Salve a tutti!
mi date qualche dritta sull'utilizzo del settimeout?
Mi servirebbe l'uso per una funzione base, ad esempio per stampare un numero ogni 2 secondi![]()
Salve a tutti!
mi date qualche dritta sull'utilizzo del settimeout?
Mi servirebbe l'uso per una funzione base, ad esempio per stampare un numero ogni 2 secondi![]()
Guybrush Threepwood
vi posto il codice che sto usando.. ne sto uscendo pazzo :
Ora : quando premo il link che attiva la funzione MANAGE_IDONEA mi stampa SUBITO "OK" dopodichè mi da' errore "ARGOMENTO NON VALIDO" sulla riga del setinterval (o settimeout...)codice:<script> function fai() { alert('ok'); } function manage_idonea(i) { var x=0; var idde; while (x<10) { idde=window.setInterval (fai(), 1000); x=x+1; } } </script>
Ho provato anche a togliere il "IDDE=" e lasciare solo il window.setInterval, ma idem...
Help help help![]()
![]()
![]()
Guybrush Threepwood
Un errore di sintassi ed uno di logica.
setTimeout("FUNZIONE", tempo)
come vedi FUNZIONE e` racchiusa tra virgolette (o apici)
Dentro un loop non ci puo` stare un setTimeout() e tanto meno un setInterval().
Il setInterval() non puo` neppure stare dentro una funzione che viene richiamata piu` di una volta.
Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
No domande tecniche in messaggi privati
idem (qualcosa cambia.. ma dal secondo passagio si perde il timeout)
In pratica, a me basterebbe un esempio : alertare 5 volte OK a distanza di 2 secondi..
Non so perchè ma riesco ad impostare il timeout solo sul primo passaggio del loop
questo è il mio codice (con una funzione + complessa...)
codice:function luppa(doc,y) { document.getElementById('divvo1').style.width=300; alert (y); } function manage_idonea(i) { var x=0; var y=300; while (x<10) { setTimeout("luppa();",3000); x=x+1; y=y+10; } }
Guybrush Threepwood
up mattutino...
Non capisco perchè questo codice funziona solo al PRIMO passaggio del ciclo e poi mi spara gli alert in fila![]()
![]()
![]()
codice:while (x<10) { times=setTimeout("alert('OK');",1000); x=x+1; //clearTimeout(times); }
Guybrush Threepwood
perche' il ciclo (che sia while o che sia for e' identico) e' velocissimo,
i timeout vengono settati praticamente contemporaneamente
e scattano contemporaneamente
setTimeout("alert('OK!');",1000*x);
tieni conto che il tempo durante il quale l' alert e' mostrato viene considerato lo stesso
ecco il truccoera proprio un problema di concezione della funzione...
Ora sto provando a usarla per la funzioen originale, cioò per creare un effetto all'apertura di una finestra...
Così non mi va ancora... ma non demordocodice:while (x<10) { times=setTimeout("document.getElementById('divvo1').style.width= document.getElementById('divvo1').style.width+30;",1000*x) ; x=x+1;![]()
Guybrush Threepwood
trovato il problema
Vale 255px ma il valore è restiuto anche con "PX" per cui non ci posso aggiungere numericodice:document.getElementById('divvo1').style.width![]()
Guybrush Threepwood