以HTML格式显示Javascript时钟

时间:2014-05-26 21:24:48

标签: javascript html

所以我使用下面的代码创建了一个时钟,并希望在我的HTML网页中显示它。

例如Todays current time is:

我该怎么做?感谢。

<script>
function startTime() {
    var today=new Date();
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML = h+":"+m+":"+s;
    var t = setTimeout(function(){startTime()},500);
}

function checkTime(i) {
    if (i<10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
}
</script>

3 个答案:

答案 0 :(得分:2)

你可以这样做:

<!DOCTYPE html>
<html>
<body>

The time is:<div id="txt"></div>
<script>
function startTime() {
    var today=new Date();
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML = h+":"+m+":"+s;
    var t = setTimeout(function(){startTime()},500);
}

function checkTime(i) {
    if (i<10) {i = "0" + i};  // add zero in front of numbers < 10
    return i;
}
startTime();
</script>
</body>
</html>

答案 1 :(得分:2)

这是jsfiddle:http://jsfiddle.net/Xx2ce/3/

首先,您要使用setInterval代替setTimeout

还修复了代码中的其他错误

以下是代码:

function startTime() {
    var d=new Date();
    var h=d.getHours();
    var m=d.getMinutes();
    var s=d.getSeconds();
    m = checkTime(m);
    s = checkTime(s);
    document.getElementById('txt').innerHTML = "Todays current time is: "+h+":"+m+":"+s;
}

function checkTime(i) {
    var j = i;
    if (i < 10) {
        j = "0" + i;
    }
    return j;
}

setInterval(function() {
    startTime();
}, 500);

对于HTML,您只需要:

<p id="txt"></p>

时钟会打勾...魔术呃? ))

答案 2 :(得分:1)

在这里你去:

Working Fiddle

<body onload="startTime()">

window.onload=startTime;

希望这有帮助。