3

所以,我正在制作一个简单的时钟,它只是从静态起点开始计算时间。问题是,当第二个标记达到 8 时,它会重置为 0。我不知道为什么。帮助!

这是时钟:http: //jsfiddle.net/Ender/jMbem/

这是它的代码:

HTML:

<h1>Mark's Busted Computer Clock</h1>
<div id="time">
    <span id="hour">146</span>:<span id="minute">45</span>:<span id="second">00</span>
</div>

JS:

$(function() {
    setInterval(UpdateSecond, 1000);
});

function UpdateSecond() {
    var num = parseInt($('#second').text());
    num++;
    if (num == 60) {
        num = 0;
        UpdateMinute();
    }
    if (num < 10) {
        num = "0" + num;
    }
    $('#second').text(num);
}

function UpdateMinute() {
    var num = parseInt($('#minute').text());
    num++;
    if (num == 60) {
        num = 0;
        UpdateHour();
    }
    if (num < 10) {
        num = "0" + num;
    }
    $('#minute').text(num);
}

function UpdateHour() {
    $('#hour').text(parseInt($('#hour').text()) + 1);
}
4

1 回答 1

8

问题是您没有将基数传递给 parseInt 函数。尝试:

var num = parseInt($('#minute').text(), 10);

更多信息在这里:http ://www.w3schools.com/jsref/jsref_parseint.asp

于 2010-10-13T17:21:26.793 回答