Visualizzazione dei risultati da 1 a 7 su 7

Discussione: settare ore minuti sec

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    10

    settare ore minuti sec

    Volevo realizzare un semplice orologio che parte da ora, minuto e secondi definiti da me.

    Secondo voi perche questo stupido script non funge?
    Provate ad eliminare la riga "x.setSeconds(30);" e funge!
    Peccato che ho bisogno di settare anche i sec.

    <html><script language="JavaScript">
    function mytime() {
    var x=new Date();
    x.setHours(23)
    x.setMinutes(30);
    x.setSeconds(30);
    h=x.getHours();
    m=x.getMinutes();
    s=x.getSeconds();
    if(s<=9) s="0"+s;
    if(m<=9) m="0"+m;
    if(h<=9) h="0"+h;
    time=h+":"+m+":"+s;
    document.rclock.rtime.value=time;
    setTimeout("mytime()",1000); }
    //-->
    </script>

    <BODY onload="mytime()"><center>
    <H3>Orologio</H3>
    <form name="rclock">
    <table border="2">
    <input type="text" name="rtime" size="7">
    </table>
    </form>
    </center>
    </body>
    </html>
    <img src="http://forum.html.it/forum/images/vBulletin_logo.gif">

  2. #2
    Utente di HTML.it L'avatar di v2v2
    Registrato dal
    Sep 2002
    Messaggi
    221
    Ciao c'è il tuo avatar che continua a "farmi il dito"... ti rispondo lo stesso ma cerca di farlo smettere perchè non è bello!

    Quello "stupido script" non va perchè il genio che lo ha scritto ha fatto qualche errore:

    Ti spiego ciò che fa il tuo script:
    -prende l'ora attuale
    -modifica ore minuti e secondi settandoli rispettivamente a 23 30 30
    -assegna alle variabili h m s rispettivamente 23 30 30 pretendendo che si aggiornino da soli!

    Cm1 anche togliendo "x.setSeconds(30);" non va lo stesso: girano i secondi ma i minuti rimangono fermi a 30!
    Only the good die young
    all the evil seem to live forever

    :metallica

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    10
    Ho provato a fare la seg. modifica, ma non funge (sarà perchè non so nulla della sintassi javascript???). Qualcuno sa dirmi che tipo di errore è?

    <html><script language="JavaScript">

    function settime() {
    var x=new Date();
    x.setHours(23);
    x.setMinutes(30);
    x.setSeconds(30);
    mytime(x);
    }

    function mytime(x) {
    h=x.getHours();
    m=x.getMinutes();
    s=x.getSeconds();
    if(s<=9) s="0"+s;
    if(m<=9) m="0"+m;
    if(h<=9) h="0"+h;
    time=h+":"+m+":"+s;
    document.rclock.rtime.value=time;
    setTimeout("mytime(x)",500); }
    //-->
    </script>

    <BODY onload="settime()"><center>
    <H3>Your local time!</H3>
    <form name="rclock">
    <table border="2">
    <input type="text" name="rtime" size="7">
    </table>
    </form>
    </center>
    </body>
    </html>
    <img src="http://forum.html.it/forum/images/vBulletin_logo.gif">

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    ti ha gia` detto v2v2 che il tuo "orologio" non funziona perche` non c'e` nulla che lo fa andare avanti.

    Dovresti mettere una funzione di questo tipo:
    function avanti(){
    x.setSeconds(x.getSeconds()+1);
    setTimeout('avanti()', 1000);
    }

    che dovrai poi chiamare la prima volta per farlo partire.

    Ti manca poi qualcosa che copi l'ora dal tuo orologio allo schermo.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 1999
    Messaggi
    10
    beh, veramente setTimeout c'è ed è nella function mytime.
    Comunque adesso il prob. è riuscire a passare l'oggetto date (x), correttamente inizializzato in settime, alla funzione mytime.
    Solo che mi da errore:
    x non è definito


    ....boh
    <img src="http://forum.html.it/forum/images/vBulletin_logo.gif">

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Devi definirlo fuori dalle funzioni, altrimenti resta locale alla funzione e non e` definito al di fuori.

    In parole povere la riga
    var x=new Date();
    devi metterla prima delle funzioni.

    Comunque ci devi mettere qualcosa che incrementa il tuo orologio ogni secondo. La funzione mytime fa solo una lettura (ogni 500 msec).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di v2v2
    Registrato dal
    Sep 2002
    Messaggi
    221
    Questo script simula un orologio che parte da un orario prestabilito
    codice:
    <html><head><script language="JavaScript"> 
    //setta ore(h),minuti(m) e secondi(s)
    h=23;
    m=30;
    s=30;
    
    function mytime() { 
    if(s==59){s=0;
    			if(m==59){m=0;
    					if(h==24){h=1}
    					else{h=h+1}}
    			else{m=m+1};
    		}
    else{s=s+1};
    
    if(h<=9){
    	time="0"; 
    	time=time+=h; 
    	}
    else {time=h;};
    
    time=time+=":";
    
    if(m<=9){
    	time=time+="0"
    	time=time+=m; 
    	}
    else{time=time+=m};
    
    time=time+=":";
    
    if(s<=9){
    	time=time+="0"
    	time=time+=s; 
    	}
    else{time=time+=s};
    
    document.rclock.rtime.value=time; 
    setTimeout("mytime()",1000); } 
     
    </script> 
    </head>
    <BODY onload="mytime()"><center> 
    <H3>Orologio</H3> 
    <form name="rclock"> 
    <table border="2"> 
    <input type="text" name="rtime" size="7"> 
    </table> 
    </form> 
    </center> 
    </body> 
    </html>
    cmq forse mi è venuta in mente altra idea che da un orario più preciso... ti farò sapere
    Only the good die young
    all the evil seem to live forever

    :metallica

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.