var startTime; var timerId; var elapsedTime = 0; var timer = document.getElementById("timer"); var startBtn = document.getElementById("start"); var stopBtn = document.getElementById("stop"); var resetBtn = document.getElementById("res"); function setBtn(start, stop, reset){ startBtn.disabled = !start; stopBtn.disabled = !stop; resetBtn.disabled = !reset; } setBtn(true, false, false); startBtn.addEventListener("click", function(){ startTime = new Date(); stopwatchFunc(); setBtn(false, true, true); }); stopBtn.addEventListener("click", function(){ elapsedTime += new Date() - startTime; clearTimeout(timerId); setBtn(true, false, true); }); resetBtn.addEventListener("click", function(){ timer.innerHTML = "0.00"; elapsedTime = 0; clearTimeout(timerId); setBtn(true, false, false); }); function stopwatchFunc(){ timerId = setTimeout(function(){ var t = new Date() - startTime + elapsedTime; timer.innerHTML = (t / 1000).toFixed(2); stopwatchFunc(); },10); }