Visualizzazione risultati 1 fino 6 di 6

Discussione: Errore Javascript - settimeout

  1. #1
    Guest

    Exclamation Errore Javascript - settimeout

    ciao a tutti, stavo creando una animazione semplice in js, quando lo script si blocca al secondo settimeout, il codice è questo:
    Codice HTML:
    <script>
    function step1() {
    var tredv = document.getElementById('animazione').value = ":SERVER CONNECT:";
    }
    function step2() {
    var tredv = document.getElementById('animazione').value = "SERVER CONNECT";
    }
    function step3() {
    var tredv = document.getElementById('animazione').value = ":SERVER CONNECT:";
    }
    function step4() {
    var tredv = document.getElementById('animazione').value = "::SERVER CONNECT::";
    }
    function animazione() {
    settimeout(step1(), 1000);
    settimeout(step2(), 2000);
    settimeout(step3(), 3000);
    settimeout(step4(), 4000);
    }
    </script>
    <body onload="javascript:animazione();">
    <input type="text" id="animazione" value="" />
    Dove sbaglio ? ciaooo

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovrebbe essere un problema di maiuscole/minuscole: setTimeout.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    ho messo le maiuscole ma lo stesso si blocca al secondo passaggio, cosa altro può influenzare lo script ? ciaoo

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Il primo parametro della funzione lo devi mettere tra virgolette: setTimeout("step1()",1000);
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    grazie mille! Inizialmente l'avevo messo tra le virgolette, però poi nel risolvere altri problemi le ho levate! grazie ancora, ci vediamo!

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    in realtà, le virgolette sono necessarie se dentro ci metti un comando. Se come parametro passi solo una funzione è sufficiente il nome, ma senza parentesi! (stranezze del javascript)
    Codice PHP:
    function animazione() {
    setTimeout(step1, 1000);
    setTimeout(step2, 2000);
    setTimeout(step3, 3000);
    setTimeout(step4, 4000);
    }
    edit: questo perché setTimeout si aspetta come primo parametro una "espressione", che può essere tante cose. Se metti una stringa con dentro del codice, va bene, se metti il nome di una funzione, va bene anch'esso, ma se metti step1() quella è una chiamata alla funzione step1(), che viene eseguita subito e il risultato viene passato a setTimeout... che non se ne fa nulla e da errore
    Ultima modifica di dreadnaut : 04-08-2007 alle ore 16.58.13

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •