Klikim i shumëfishtë në buton për të nisur një kronometër në JavaScript
Kodi i paraqitur nga mua më lart, në fakt ka një problem të caktuar. Ky problem shfaqet në rastin kur në butonin tonë bëhet disa klikime. Në këtë rast çdo klik do të çojë në nisjen e një kronometri të ri.
Kjo do të thotë, për shembull, tre shtypje në buton do të çojnë në faktin që do të nisen tre kronometra, dhe secili prej këtyre kronometrave do të shfaqë vlerën e numëruesit në konsol. Kjo do të thotë që vlerat do të ndryshojnë tre herë më shpejt!
Për të zgjidhur problemin e përshkruar thjesht duhet të bëhet që shtypja e përsëritur në buton të mos çojë në nisje të re të kronometrit. Për shembull, pas fillimit të kronometrit mund të çlidhet nga butoni përgjigjësi i klikimit të lidhur:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // çlidhim përgjigjësin
});
Merrni zgjidhjen tuaj të detyrës së mëparshme. Kontrolloni që shtypja e shumëfishtë në buton çon në përshpejtim të numërimit. Korrigjoni këtë problem.