⊗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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне