Javascript/ストップウォッチ

0.00
javascript
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);
}