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

    Countdown diverso da form

    Ciao a tutti!
    Ho bisogno di fare uno script che in base all'opzione selezionata dall'utente parta uno script di countdown di diversa durata.
    Questo è il form:

    Codice PHP:
    <form method="post" action="inizia_allenamenti.php">
    <
    select name="durata">
    <
    option value="riposo">Riposo</option>
    <
    option value="leggero">Leggero</option>
    <
    option value="medio">Medio</option>
    <
    option value="intenso">Intenso</option>
    </
    select>
    </
    form
    Riposo: lo script non parte.
    Leggero: countdown di 2 ore.
    Medio: countdown di 3 ore.
    Intenso: countdown di 5 ore.

    Ringrazio chiunque saprà darmi una mano! =)

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Uno dei mille modi per farlo...
    codice:
    <!doctype html>
    <html>
     <head>
      <title> CountDown </title>
    	<script type="text/javascript">
    	var h = 0;
    	var m = 0;
    	var s = 0
    	var t;
    	function start_countdown(f){
    		if(t) clearTimeout(t); t = false;
    		m = 0; s = 0; h = parseInt(f.options[f.selectedIndex].value);
    		countdown();
    	}
    	function countdown() {
    		d = String(100+h).substr(1)+":"+String(100+m).substr(1)+":"+String(100+s).substr(1);
    		document.getElementById("counter").innerHTML = d;
    		if(h+m+s>0) {
    			s--; 
    			if(s<0) {
    				s = 59; m--; 
    				if(m<0) {
    					m = 59; h--;
    				}
    			}
    			t = setTimeout("countdown()",1000);
    		}
    	}
    	</script>
     </head>
    
     <body>
    	<select onchange="start_countdown(this);return false"> 
    	<option value="0">Riposo</option> 
    	<option value="2">Leggero</option> 
    	<option value="3">Medio</option> 
    	<option value="5">Intenso</option> 
    	</select> 
    	<hr>
    	<div id="counter" style="font-size:5em;"></div>
     </body>
    </html>
    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
    Ciao e grazie,sei stato gentilissimo?

    Potresti però dirmi cosa significa la parte di codice evidenziata,perchè preferisco capire come funziona lo script:
    Codice PHP:
    function start_countdown(f){

    if(
    tclearTimeout(t); false;
    00parseInt(f.options[f.selectedIndex].value);
    countdown();
        
    }
        
    function 
    countdown() {
    String(100+h).substr(1)+":"+String(100+m).substr(1)+":"+String(100+s).substr(1); document.getElementById("counter").innerHTML d;


  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    if(t) clearTimeout(t); t = false; // se t e' valorizzato c'e' un timeout in corso quindi lo fermo

    m = 0; s = 0; h = parseInt(f.options[f.selectedIndex].value); // azzero minuti, secondi, e imposto ore al valore letto dalla select passata come parametro alla funzione

    d = String(100+h).substr(1)+":"+String(100+m).substr(1 )+":"+String(100+s).substr(1); // formatto la stringa da visualizzare

    document.getElementById("counter").innerHTML = d; // e la visualizzo nello spazio predisposto

    Perdona, ma per una spiegazione piu' dettagliata e' meglio consultare il manuale
    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
    Grazie mille,sei stato chiarissimo!
    Consulterò lo stesso il manuale per approfondire

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.