晕,我有功能计时器,但是在单击“开始”之前该计时器已经运行。如何解决它,我想当我单击开始时,计时器将运行。如果我在第一个函数中删除了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>
答案 0 :(得分:1)
删除timer();从您的代码中
function timer() {
t = setTimeout(add, 1000);
}
//timer();
/* Start button */
start.onclick = timer;
答案 1 :(得分:0)
在声明函数后,删除行上的杂散timer();
。