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

    Generare un numero crescente dopo x secondi con setTimeout o setInterval

    Ciao a tutti sono nuovo su questo forum, mi chiamo Matteo e frequento l'ultimo anno dell'itis informatico.
    Sto progettando il sito per la tesi di maturità, però ora mi è venuto questo problema.
    In pratica il codice che scriverò di seguito dovrebbe genere un numero in modo crescente ad ogni secondo (nel mio caso 1) partendo da un valore base di 500. Faccio un esempio per capire meglio:
    500 (valore base)
    501 (valore dopo 1 sec di attesa)
    502 (valore dopo 1 sec di attesa, dal valore precedente, quindi dopo 501 aspetta 1 sec e deve mostrare 502)
    503
    .
    .
    .... e continua

    Io provato così:
    codice:
    <script language="JavaScript"> 
    var i = 500; 
    setInterval(for(i = 500; i < 1000; i++){document.write(i);},1000);
    </script>
    Ma provando questo script non stampa a video nulla.
    Dov'è che sto sbagliando?

    Grazie della vostra attenzione e pazienza

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Pagina bianca</title>
    </head>
    
    <body>
    <script type="text/javascript"> 
    var nCnt = 500, nIncrSess = setInterval(function () {
    	document.body.appendChild(document.createTextNode(nCnt++));
    	if (nCnt > 1000) { clearInterval(nIncrSess); }
    }, 1000);
    </script>
    </body>
    </html>
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    Grazie mille funziona!, però mi mostra i numeri in fondo alla pagina.
    Scusa se ti chiedo ancora, siccome quel codice deve stare all'interno di una colonna di una riga, si può che quando parte da 500, il numero successivo rimpiazzi il 500; cioè 500, poi diventa 501 senza averli uno attaccato all'altro? Per intenderci come lo scorrere dei secondi di un orologio.
    codice:
    <td align="center">
        <script type="text/javascript"> 
          var nCnt = 500, nIncrSess = setInterval(function () {
          document.body.appendChild(document.createTextNode(nCnt++));
          if (nCnt > 1000) { clearInterval(nIncrSess); }
          }, 1000);
       </script>
    </td>
    Spero di essermi spiegato bene

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133

    Re: Generare un numero crescente dopo x secondi con setTimeout o setInterval

    Originariamente inviato da matteo_93
    ... dell'itis informatico.
    Sto progettando il sito per la tesi di maturità, ...
    Ma se ti fa tutto Carlo (che conosce molto bene javascript) tu cosa imparerai?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da matteo_93
    Grazie mille funziona!, però mi mostra i numeri in fondo alla pagina.
    Scusa se ti chiedo ancora, siccome quel codice deve stare all'interno di una colonna di una riga, si può che quando parte da 500, il numero successivo rimpiazzi il 500; cioè 500, poi diventa 501 senza averli uno attaccato all'altro? Per intenderci come lo scorrere dei secondi di un orologio.
    codice:
    <td align="center">
        <script type="text/javascript"> 
          var nCnt = 500, nIncrSess = setInterval(function () {
          document.body.appendChild(document.createTextNode(nCnt++));
          if (nCnt > 1000) { clearInterval(nIncrSess); }
          }, 1000);
       </script>
    </td>
    Spero di essermi spiegato bene
    Prova cosi

    codice:
    <td align="center">
        <script type="text/javascript"> 
          var nCnt = 500, nIncrSess = setInterval(function () {
          document.body.textContent = nCnt++;
          if (nCnt > 1000) { clearInterval(nIncrSess); }
          }, 1000);
       </script>
    </td>

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da br1
    Ecco, magari puoi imparare anche dagli strafalcioni degli altri...
    Almeno il primo problema lo risolve

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da br1
    Ecco, magari puoi imparare anche dagli strafalcioni degli altri...
    Originariamente inviato da RoTeam
    Almeno il primo problema lo risolve
    Scusa, sono stato eccessivo.... voleva essere di stimolo all'utente per capire

    Ma dato che ci sei ora completa l'opera
    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

  8. #8
    Ok, funziona grazie mille, ci ho fatto giusto 2 modifiche perchè così com'era una volta che partiva lo script scompariva tutti gli elementi all'interno della pagina lasciandomi lo sfondo bianco con il numero che aumenta, ma quello lo risolto facilmente. Volevo chiedere un'ultima cosa se possibile (mi basta un si o no, non mi serve il codice), si può far in modo che lo script non dipenda se l'utente è connesso o meno al sito, nel senso che lo script continua a lavora anche se la sessione è chiusa (magari ho detto una cavolata siccome ora il sito è in remoto e quindi non online), ultimissima cosa siccome quei numeri si devono vedere in tutte le pagine mi consigliate di mettere quello script in una pagina a parte e di fare un include con il PHP? oppure lo si può sincronizzare con le altre pagine? Di javascript ne so poco perchè anche a scuola ne facciamo poco, e per questo mi scuso con tutti voi

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.