⊗jsPmTrML 448 of 505 menu

Apăsarea repetată a butonului pentru a porni un cronometru în JavaScript

Codul prezentat de mine mai sus, de fapt, are o oarecare problemă. Această problemă se manifestă în cazul în care faceți mai multe clicuri pe butonul nostru. În acest caz, fiecare clic va duce la lansarea unui nou cronometru.

Adică, de exemplu, trei apăsări pe buton vor duce la lansarea a trei cronometre, și fiecare dintre aceste cronometre va afișa valoarea contorului în consolă. Aceasta înseamnă că valorile se vor schimba de trei ori mai repede!

Pentru a rezolva problema descrisă, trebuie pur și simplu să faceți astfel încât apăsarea repetată a butonului să nu mai ducă la lansarea unui nou cronometru. De exemplu, puteți, după startul cronometrului, să dezlegați de pe buton handler-ul de clic atașat:

let start = document.querySelector('#start'); start.addEventListener('click', function func() { let i = 0; setInterval(function() { console.log(++i); }, 1000); this.removeEventListener('click', func); // dezlegăm handler-ul });

Luați soluția dvs. la sarcina anterioară. Verificați dacă apăsarea repetată a butonului duce la accelerarea numărării. Corectați această problemă.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge