Javascript 计时器在单击开始之前已经运行

标签 javascript html function timer

晕,我有定时器功能,但是在我点击开始之前定时器已经运行了。如何解决它,我希望当我点击开始时,计时器会运行。如果我在第一个函数中删除了 seconds++,即使我单击开始按钮,时间也没有运行,时间仍然是 0。谢谢你的帮助。 这是我的代码

var h1 = document.getElementsByTagName('h1')[0],
    start = document.getElementById('start'),
    stop = document.getElementById('stop'),
    seconds = 0, minutes = 0, hours = 0,
    t;

function add() {
    seconds++;
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
        if (minutes >= 60) {
            minutes = 0;
            hours++;
        }
    }
    
    h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);

    timer();
}
function timer() {
    t = setTimeout(add, 1000);
}
timer();


/* Start button */
start.onclick = timer;

/* Stop button */
stop.onclick = function() {
    clearTimeout(t);
}
<h1><time>00:00:00</time></h1>
<button id="start">start</button>
<button id="stop">stop</button>

最佳答案

删除定时器();从你的代码

function timer() {
    t = setTimeout(add, 1000);
}
//timer();


/* Start button */
start.onclick = timer;

关于Javascript 计时器在单击开始之前已经运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53317645/

相关文章:

javascript - 如何?没有重复的数组和值用完时的文本

javascript - HTML 中是否有 NO-OP 标签?

Javascript 哈希器嵌套函数

javascript - 如何在jquery中右键单击添加dbclick()

javascript - 如何解码javascript的编码字符串

javascript - 在 javascript/knockout.js 中创建 2dim 数组表

javascript - 避免使用 jquery 多次选择相同的选项,除了第一个选择标签

html - 在 div 中嵌入 100% 高度的 iframe 有奇怪的底边距

function - Tableau 中的 COUNTIF?

function - Powershell - 如何构建一个函数来用其他字符替换某些特殊字符