Flerklick på knapp för att starta timer i JavaScript
Koden som jag gav ovan har faktiskt ett visst problem. Detta problem uppstår i fallet om vår knapp klickas på flera gånger. I detta fall kommer varje klick att leda till start av en ny timer.
Det vill säga, till exempel, tre klick på knappen kommer att leda till att tre timers startas, och var och en av dessa timers kommer att skriva ut räknarens värde i konsolen. Det betyder att värdena kommer att ändras tre gånger snabbare!
För att lösa det beskrivna problemet behöver du helt enkelt göra så att ett upprepade klick på knappen inte leder till en ny start av timern. Till exempel, kan du efter start av timern ta bort den knutna klickhanteraren från knappen:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // tar bort hanteraren
});
Ta din lösning på den föregående uppgiften. Kontrollera att flerklick på knappen leder till en snabbare nedräkning. Åtgärda detta problem.