Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    setTimeout e ciclo di for

    Salve a tutti, volevo sperimentare le funzioni setTimeout e setInterval e ho scritto questo codice che mi serve solo per esercitazione:
    codice:
    <script type="text/javascript">
           var px = 100;
    
    function gianni(){
           var elenco = document.getElementById("elenco").getElementsByTagName("img");
    for (var i = 0; i<elenco.length;i++){
           elenco.item(i).style.marginLeft= px + 'px';
           elenco.item(i).style.marginBottom= px + 'px';
            px = px + 100
            }
    }
    </script>
    dove la funzione viene lanciata dall'evento onClick di un tasto, in questo modo:
    codice:
    onclick=setTimeout("gianni()",5000)
    e il codice funziona perfettamente. Volevo poi sperimentare la funzione setTimeout per il ciclo di for e ho scritto:
    codice:
    <script type="text/javascript">
           var px = 100;
    
    function gianni(){
           var elenco = document.getElementById("elenco").getElementsByTagName("img");
    setTimeout("for (var i = 0; i<elenco.length;i++){
           elenco.item(i).style.marginLeft= px + 'px';
           elenco.item(i).style.marginBottom= px + 'px';
            px = px + 100
            }", 5000);
    }
    </script>
    ma il mio Dw mi segnale un errore alla riga:
    codice:
    setTimeout("for (var i = 0; i<elenco.length;i++){
    dove posso aver sbagliato? Vi ringrazio anticipatamente

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
    setTimeout("function(){for (var i = 0; i<elenco.length;i++){
           elenco.item(i).style.marginLeft= px + 'px';
           elenco.item(i).style.marginBottom= px + 'px';
            px = px + 100
            }}", 5000);
    Ma tutto su una sola riga
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Grazie br1, avevo giā provato con function()... ma non avevo messo tutto sulla stessa riga; adesso non mi da nessun errore ma il ciclo non parte. Forse non ha senso (al di lā dell'utilitā) il codice? Le immagini non si spostano di una virgola...

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma se gia' hai la funzione gianni() che va bene puoi limitarti a richiamarla cosi':

    setTimeout("gianni()",5000)
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Infatti ho premesso che il codice č inutile ma era solo per esercitazione; avevo letto che era possibile utilizzarlo anche con il ciclo di for. Magari un giorno mi tornerā utile!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.