JavaScript-da tugmani bir necha marta bosish orqali taymerni ishga tushirish
Yuqorida keltirilgan kod, aslida, muayyan muammoga ega. Bu muammo tugmamiz bir necha marta bosilganda namoyon bo'ladi. Bu holda har bir bosish yangi taymerni ishga tushirishga olib keladi.
Ya'ni, masalan, tugmani uch marta bosish uchta taymer ishga tushishiga olib keladi, va bu taymerlarning har biri hisoblagich qiymatini konsolga chiqaradi. Bu shuni anglatadiki, qiymatlar uch baravar tezroq o'zgaradi!
Tasvirlangan muammoni hal qilish uchun shunchaki tugmani qayta bosish yangi taymerni ishga tushirishga olib kelmasligini ta'minlash kerak. Masalan, taymer ishga tushgandan so'ng, tugmaga bog'langan klik ishlovchisini olib tashlash mumkin:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // ishlovchini olib tashlaymiz
});
Oldingi vazifaning yechimini oling. Tugmani bir necha marta bosish hisobni tezlashtirishiga olib kelishini tekshiring. Ushbu muammoni tuzating.