JavaScript'te Zamanlayıcı Başlatmak için Çoklu Tıklama
Yukarıda verdiğim kod aslında bir soruna sahiptir. Bu sorun, düğmemize birden fazla tıklama yapılırsa ortaya çıkar. Bu durumda her tıklama yeni bir zamanlayıcının başlatılmasına neden olur.
Yani, örneğin, düğmeye üç kez tıklamak üç zamanlayıcının başlatılmasına yol açar, ve bu zamanlayıcıların her biri sayaç değerini konsola yazdıracaktır. Bu demektir ki, değerler üç kat daha hızlı değişecek!
Açıklanan sorunu çözmek için, basitçe düğmeye tekrar tıklamanın yeni bir zamanlayıcı başlatmamasını sağlamalısınız. Örneğin, zamanlayıcı başladıktan sonra düğmeye bağlı tıklama işleyicisini kaldırabilirsiniz:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // işleyiciyi kaldırıyoruz
});
Önceki görevin çözümünüzü alın. Düğmeye çoklu tıklamanın sayımı hızlandırdığını kontrol edin. Bu sorunu düzeltin.