简体   繁体   中英

How to make time function update itself?

When I load this in a browser it'll show the time it was when page was fully loaded, but won't update itself every second. How do I do this?

var h = date.getHours();   if(h<10) h = "0"+h;
var m = date.getMinutes(); if(m<10) m = "0"+m;
var s = date.getSeconds(); if(s<10) s = "0"+s;
document.write(h + " : " + m + " : " + s);

Use setInterval :

setInterval(clock, 1000);

function clock() {
   var date = new Date();
   var h = date.getHours();   if(h<10) h = "0"+h;
   var m = date.getMinutes(); if(m<10) m = "0"+m;
   var s = date.getSeconds(); if(s<10) s = "0"+s;
   document.write(h + " : " + m + " : " + s);
}

Although you probably want to update a HTML element rather than document.write to the page every second.

http://jsfiddle.net/bQNwJ/

Wrap it up in a function and let it call itself:

everysecond=1000; // milliseconds
function showCurrentTime(){
    /*do your timing stuff here */
    if(someConditionIsntMet) setTimeout(showCurrentTime, everysecond)
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM