Stopwatch App: The App will display the seconds in numbers and buttons to start, pause ,reset the interval
// Html code:
<div id="banner"><span>StopWatch</span></div>
<div id="clock">0</div>
<button id="start">Start</button>
<button id="pause">Pause</button>
<button id="reset">Reset</button>
// JavaScript code:
const display = document.getElementById("clock");
const startButton = document.getElementById("start");
const pauseButton = document.getElementById("pause");
const resetButton = document.getElementById("reset");
let interval;
let temp = 0;
function updateClock() {
temp++;
display.textContent = temp;
}
startButton.addEventListener("click", function () {
if (!interval) {
interval = setInterval(updateClock, 1000);
}
});
pauseButton.addEventListener("click", ()=> {
clearInterval(interval);
interval = null;
});
resetButton.addEventListener("click", function () {
clearInterval(interval);
interval = null;
temp = 0;
display.textContent = temp;
});
import React, { useState, useEffect } from 'react';
function StopWatch() {
const [time, setTime] = useState(0);
const [isRunning, setIsRunning] = useState(false);
let timerID;
useEffect(() => {
if (isRunning) {
timerID = setInterval(() => {
setTime((prevTime) => prevTime + 1);
}, 1000);
}
return () => {
clearInterval(timerID);
};
}, [isRunning]);
const startClock = () => {
if (!isRunning) {
setIsRunning(true);
}
};
const pauseClock = () => {
setIsRunning(false);
};
const resetClock = () => {
clearInterval(timerID);
setTime(0);
setIsRunning(false);
};
return (
<div id="banner"><span>StopWatch</span></div>
<div id="clock">{time}</div>
<button id="start">Start</button>
<button id="pause">Pause</button>
<button id="reset">Reset</button>
);
}
export default StopWatch;