Flertrykksknapp for å starte timer i JavaScript
Koden jeg viste ovenfor har faktisk et problem. Dette problemet viser seg hvis knappen vår trykkes på flere ganger. I dette tilfellet vil hvert klikk føre til at en ny timer starter.
Det vil si, for eksempel, at tre trykk på knappen vil føre til at tre timere starter, og hver av disse timerne vil vise tellerverdien i konsollen. Dette betyr at verdiene vil endre seg tre ganger raskere!
For å løse det beskrevne problemet trenger du bare å gjøre slik at et gjentatt trykk på knappen ikke fører til en ny start av timeren. For eksempel, kan du etter start av timeren fjerne den tilknyttede klikk-handleren fra knappen:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // fjerner handleren
});
Ta løsningen din fra forrige oppgave. Sjekk at flertrykk på knappen fører til at tellingen skjer raskere. Løs dette problemet.