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

    Istruzioni+pausa in loop

    Mi spiego meglio:
    ho la necessita di effettuare una serie di istruzioni in un loop (for, while o quello che è)

    Il problema è che non tutte vanno a buon fine. Probabilmente per un problema di "velocita". Avevo pensato, quindi, di inserire una pausa tra un'istruzione e l'altra (sempre rimanendo all'interno del ciclo) utilizzando l'istruzione setTimeout.

    Un esempio semplificato del mio procedimento:


    cont=60;
    for (i=1;i<=cont;i++) {
    setTimeout("istruzione",2000);
    }

    Il problema è che in ogni caso vengono eseguiti 60 istanze di "istruzione" senza aspettare 2 secondi dalla precedente.

    Come risolvere il problema?

  2. #2
    Elimina il for. E al posto di setTimeout usa setInterval.

  3. #3
    No, scusami, ho tralasciato un piccolo particolare:
    all'interno del for, le varie istruzioni sono diverse l'una dall'altra (e variano in base all'indice che si incrementa ogni volta di 1).
    Quindi non posso eliminare il for, ovvero: devo cmq usare un qualche tipo di ciclo... un for... un while...

  4. #4
    Puoi incrementare una variabile ad ogni chiamata:
    codice:
    (function() {
      var counter = 0;
      setInterval(function() {
        //fai le tue operazioni
        counter++;
      })
    )();

  5. #5
    Originariamente inviato da Mega69
    Puoi incrementare una variabile ad ogni chiamata:
    codice:
    (function() {
      var counter = 0;
      setInterval(function() {
        //fai le tue operazioni
        counter++;
      })
    )();
    Giusto!!! Una funziona ricorsiva!! non c'avevo proprio pensato...



    Tnx

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 © 2025 vBulletin Solutions, Inc. All rights reserved.