Я изменил ваш код, чтобы создать эффект, который вы хотели.Я использовал jquery, чтобы скрыть и показать кнопки на событиях клика.
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<style type="text/css">
body{
margin: 0px;
width: 100%;
padding: 0px;
}
#Time {
background-color: yellow;
max-width: 2.3%;
}
.box{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-65%);
}
</style>
</head>
<body>
<div class="box">
<h1>Stop Watch</h1>
<button id="Start">Start</button>
<button id="Stop" >Stop</button>
<button id="Reset">Reset</button>
<h3>Elapsed Time:</h3>
<p id="Time"></p>
</div>
<script type="text/javascript">
$('document').ready(function(){
$("#Stop").prop("disabled",true);
$("#Reset").prop("disabled",true);
$("#Stop").prop("hidden",true);
$("#Reset").prop("hidden",true);
});
$('#Start').click(function(){
$("#Stop").prop("disabled",false);
$("#Reset").prop("disabled",true);
$("#Stop").prop("hidden",false);
$("#Reset").prop("hidden",true);
$("#Start").prop("disabled",true);
$("#Start").prop("hidden",true);
});
$('#Stop').click(function(){
$("#Reset").prop("disabled",false);
$("#Reset").prop("hidden",false);
$("#Stop").prop("disabled",true);
$("#Stop").prop("hidden",true);
});
$('#Reset').click(function(){
$("#Start").prop("disabled",false);
$("#Start").prop("hidden",false);
$("#Reset").prop("disabled",true);
$("#Reset").prop("hidden",true);
});
start = document.getElementById('Start');
stop = document.getElementById('Stop');
reset = document.getElementById('Reset');
let watchRunning = false;
Start.addEventListener('click', startHandler);
Stop.addEventListener('click', stopHandler);
Reset.addEventListener('click', resetHandler);
function startHandler() {
if (!watchRunning) {
watchRunning = setInterval(update, 70);
}
}
function stopHandler() {
clearInterval(watchRunning);
watchRunning = null;
}
function resetHandler() {
document.getElementById("Time").innerHTML = "00.00";
clearInterval(watchRunning);
watchRunning = false;
}
update();
var seconds;
var milliseconds;
var d;
function update() {
d = new Date();
seconds = d.getSeconds();
milliseconds = Math.floor((d.getMilliseconds() / 10));
if (milliseconds < 10 && seconds < 10) {
document.getElementById("Time").innerHTML =
"0" + seconds + ".0" + milliseconds;
} else if (milliseconds < 10 && seconds >= 10) {
document.getElementById("Time").innerHTML =
seconds + ".0" + milliseconds;
} else if (milliseconds >= 0 && seconds < 10) {
document.getElementById("Time").innerHTML =
"0" + seconds + "." + milliseconds;
} else if (milliseconds >= 0 && seconds >= 10) {
document.getElementById("Time").innerHTML =
seconds + "." + milliseconds;
}
}
</script>
</body>
</html>