Klik Berulang pada Tombol untuk Menjalankan Timer di JavaScript
Kode yang saya berikan di atas, sebenarnya memiliki suatu masalah. Masalah ini muncul jika tombol kita diklik beberapa kali. Dalam hal ini, setiap klik akan menyebabkan timer baru dijalankan.
Artinya, misalnya, tiga kali menekan tombol akan menyebabkan tiga timer dijalankan, dan setiap timer tersebut akan menampilkan nilai penghitung di konsol. Ini berarti nilai akan berubah tiga kali lebih cepat!
Untuk menyelesaikan masalah yang dijelaskan, cukup lakukan agar penekanan tombol berulang tidak menyebabkan timer baru dijalankan. Misalnya, setelah memulai timer, lepaskan penangan klik yang terpasang dari tombol:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // melepaskan penangan
});
Ambil solusi Anda dari tugas sebelumnya. Periksa bahwa klik berulang pada tombol menyebabkan penghitungan lebih cepat. Perbaiki masalah ini.