Я создал этот секундомер, и он работает довольно хорошо.Единственная проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я нажимаю кнопку «Стоп», время останавливается на экране, но оно все еще работает в фоновом режиме.
Можно ли как-нибудь это предотвратить?Я хочу, чтобы таймер остановился на своем текущем времени, затем, когда я нажимаю кнопку «Пуск», он возобновляется с момента, когда он был остановлен.
Я думаю, может быть, создать переменную «new Date ()» перед обновлениемfunction и другую переменную "new Date ()" внутри функции update и каким-то образом вычитайте их, чтобы получить текущую дату.Но я не могу этого понять.
start = document.getElementById('Start');
stop = document.getElementById('Stop');
let watchRunning = false;
Start.addEventListener('click', startHandler);
Stop.addEventListener('click', stopHandler);
function startHandler() {
if (!watchRunning) {
watchRunning = setInterval(update, 70);
}
}
function stopHandler() {
clearInterval(watchRunning);
watchRunning = null;
}
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;
}
}
#Time {
background-color: yellow;
max-width: 2.3%;
}
<h1>Stop Watch</h1>
<button id="Start">Start</button>
<button id="Stop">Stop</button>
<h3>Elapsed Time:</h3>
<p id="Time"></p>
Попробуйте запустить фрагмент, и вы поймете, что я имею в виду.Время не перестает «работать» после того, как я нажимаю «Стоп», и когда я нажимаю «Старт», оно возобновляется, как если бы оно никогда не останавливалось.