⊗jsPmTrML 448 of 505 menu

Cliques múltiplos em um botão para iniciar um timer em JavaScript

O código que mostrei acima, na verdade, tem um problema. Esse problema se manifesta no caso de vários cliques no nosso botão. Nesse caso, cada clique levará ao início de um novo timer.

Ou seja, por exemplo, três cliques no botão levarão à inicialização de três timers, e cada um desses timers exibirá o valor do contador no console. Isso significa que os valores mudarão três vezes mais rápido!

Para resolver o problema descrito, basta fazer com que um clique repetido no botão não inicie um novo timer. Por exemplo, é possível, após o início do timer, desvincular da botão o manipulador de clique associado:

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

Pegue a sua solução da tarefa anterior. Verifique se cliques múltiplos no botão levam a uma contagem acelerada. Corrija esse problema.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar