Kubonyesha Kitufe Mara Kwa Mara Kuanzisha Timer kwa JavaScript
Msimbo ulioletwa na mimi hapo juu, kwa kweli una tatizo fulani. Tatizo hili linaonekana katika kesi ya kufanya mabonyezo kadhaa kwenye kitufe chetu. Katika kesi hii kila bonyezo litasababisha kuzindua timer mpya.
Hiyo ni, kwa mfano, kubonyeza kitufe mara tatu kitasababisha kuzinduliwa kwa timer tatu, na kila moja ya timer hizo zitatoa thamani ya kihesabu kwenye konsole. Hii inamaanisha, kwamba maadili yatabadilika kwa kasi mara tatu!
Kutatua tatizo lililoelezewa haja ni kufanya ili bonyeza la mara ya pili kwenye kitufe lisisababisha kuzindua kwa timer mpya. Kwa mfano, inawezekana baada ya kuanza timer kuondoa kutoka kwenye kitufe kisikilizaji kilichounganishwa cha kubonyeza:
let start = document.querySelector('#start');
start.addEventListener('click', function func() {
let i = 0;
setInterval(function() {
console.log(++i);
}, 1000);
this.removeEventListener('click', func); // kuondoa kisikilizaji
});
Chukua suluhisho lako la shida iliyopita. Hakikisha, kwamba kubonyesha kitufe mara kwa mara kinasababisha kuharakisha hesabu. Irekebishe tatizo hili.