Domanda

Quindi, io sto facendo un semplice orologio che solo conta tempo da una statica punto di partenza. Il problema è che quando il secondo marchio colpisce 8, reimposta a 0. Non riesco a capire perché. Aiuto!

Ecco l'orologio: http://jsfiddle.net/Ender/jMbem/

Ecco il codice per esso:

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);
}
È stato utile?

Soluzione

Il problema è che non sta passando una radice alla funzione parseInt. Prova:

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

Più informazioni su: http://www.w3schools.com/jsref/jsref_parseint.asp

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top