• User

    Come rallentare ciclo for? AIUTO!

    Salve a tutti...

    Vi prego di aiutarmi: per me è davvero importante!

    Allora, io ho un ciclo for che incrementa 2 variabili 15 volte affinchè ne vengano inseriti i valori all'interno del codice html, che viene sostituito con il metodo .html() nel div selezionato tramite jquery.

    **Quello che vorrei e non riesco proprio a fare è quello di temporizzare il ciclo for, in modo tale che passino un tot di secondi tra l'uno e l'altro dei 15 cicli. **

    Così facendo potrei costruire quella porzione di codice html (che disegna un grafico a torta in canvas) 15 volte con valori differenti, ma con tempi più lunghi della macchina, dando l'impressione del movimento nell'ingrandimento di una porzione del grafico a torta.

    Ho importato la libreria jquery, un suo plugin tappable, che serve per simulare il click negli schermi touch, ed un altro denominato "peity", che serve a creare grafici a torta.

    Ecco il codice dello script:

     <script type="text/javascript"> 
       $(".pie").peity("pie", {     colours: ["blue", "yellow", "orange"], diameter: 350   });      </script> 
    
    <script type="text/javascript">      
      $("#tappable").tappable( function() {     
     var yello=15;   
     var orang=60;      
    for (i=0;i<15;i++)  { 
      yello=yello+1;
      orang=orang-1;   
      $("#piechart").html("<span class='pie'>25," + yello + "," + orang + "</span>");
      $(".pie").peity("pie", {     colours: ["blue", "yellow", "orange"], diameter: 350   }); 
     }
        });      
    </script>
    

    Per me è importante, vi prego di darmi una mano, per favore! Non sono riuscito a trovare niente sulla temporizzazione di un ciclo for!


  • ModSenior

    Può andare bene come spunto?

    [PHP]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xml:lang="en">
    <head>
    <script type="text/javascript">
    function test2()
    {
    var milliSecondiDaAspettare = 2000;
    var indice=0;
    var indiceMassimo=5;
    var elemento=document.getElementById("divtest");
    var testo;
    var testoToken;
    var variabileDiAttesa = setInterval(function()
    {
    testo=elemento.innerHTML;
    testoToken="Iterazione numero "+indice+"<br />";
    elemento.innerHTML =testo+testoToken;
    if(indice==indiceMassimo)
    {
    clearInterval(variabileDiAttesa);
    }
    indice=indice+1;
    }, milliSecondiDaAspettare);
    }
    </script>
    </head>
    <body>
    <input type="button" onclick="test2()" value="scrivi">
    <br />
    <div id="divtest"></div>
    </body>
    </html>[/PHP]


  • User

    Te lo dico papale papale: IO TI AMO anche se purtroppo sei un uomo! Non hai idea che aiuto mi hai dato! Grazie davvero infinitamente, Marco!


  • ModSenior

    Em em...
    Vogliamoci bene dai hahaha...
    Di niente ciao. 😄