⊗jsPmTrML 448 of 505 menu

Шматразовае націсканне на кнопку для запуску таймера на JavaScript

Код, прыведзены мною вышэй, на самой справе мае некаторую праблему. Гэтая праблема праяўляецца ў тым выпадку, калі на нашу кнопку зрабіць некалькі клікаў. У гэтым выпадку кожны клік будзе прыводзіць да запуску новага таймера.

Гэта значыць, да прыкладу, тры націсканні на кнопку прывядуць да таго, што будзе запушчана тры таймеры, і кожны з гэтых таймераў будзе выводзіць значэнне лічыльніка ў кансоль. Гэта значыць, што значэнні будуць мяняцца ў тры разы хутчэй!

Для вырашэння апісанай праблемы трэба проста зрабіць так, каб паўторнае націсканне на кнопку не прыводзіла да новага запуску таймера. Напрыклад, можна пасля старту таймера адвязваць ад кнопкі прывязаны апрацоўшчык кліку:

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // адвязваем апрацоўшчык });

Вазьміце ваша рашэнне папярэдняй задачы. Праверце, што шматразовае націсканне на кнопку прыводзіць да паскарэння адліку. Выпраўце гэтую праблему.

Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць