-5

如何将“暂停”、“恢复”、“重置”和“结束”功能添加到以下 JavaScript 倒计时?

var sec = 0;

function pad(val) {
    return val > 9 ? val : "0" + val;
}
setInterval(function() {
    document.getElementById("seconds").innerHTML = pad(++sec % 60);
    document.getElementById("minutes").innerHTML = pad(parseInt(sec / 60, 10));
}, 1000);
4

1 回答 1

1

你需要有指向setInterval函数的指针:

var sec = 0,
  timeoutHandler;

function pad(val) {
    return val > 9 ? val : "0" + val;
}

function pausePad() {
    clearTimeout( timeoutHandler );
}

function resumePad() {
    pausePad();
    runPad();
}

function resetPad() {
    sec = 0;
    resumePad();
}

function runPad() {
    timeoutHandler = setInterval(function() {
        document.getElementById("seconds").innerHTML = pad(++sec % 60);
        document.getElementById("minutes").innerHTML = pad(parseInt(sec / 60, 10));
    }, 1000);
}
runPad();
于 2012-07-20T13:56:33.567 回答