⊗jsPmTrML 448 of 505 menu

Wielokrotne kliknięcie przycisku do uruchamiania timera w JavaScript

Kod, przytoczony przeze mnie powyżej, w rzeczywistości ma pewien problem. Problem ten objawia się w przypadku, jeśli na nasz przycisk wykonamy kilka kliknięć. W tym przypadku każde kliknięcie będzie prowadzić do uruchomienia nowego timera.

Czyli, na przykład, trzy naciśnięcia przycisku doprowadzą do tego, że uruchomione zostaną trzy timery, i każdy z tych timerów będzie wypisywał wartość licznika do konsoli. To oznacza, że wartości będą zmieniać się trzy razy szybciej!

Dla rozwiązania opisanego problemu trzeba po prostu sprawić, aby powtórne naciśnięcie przycisku nie prowadziło do nowego uruchomienia timera. Na przykład, można po starcie timera odwiązać od przycisku powiązany handler kliknięcia:

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // odwiązujemy handler });

Weźcie wasze rozwiązanie poprzedniego zadania. Sprawdźcie, że wielokrotne naciśnięcie przycisku prowadzi do przyspieszenia odliczania. Poprawcie ten problem.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć