Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

247
Visualizações
elimine la clase solo una vez cuando agregue la clase muchas veces

Tengo un código siguiente:

 btn.onclick = function() { toast.classList.add('showToast') setTimeout(function() { toast.classList.remove('showToast') }, 3100) }

Supongamos que en 0 s hago clic muchas veces en el botón, por lo que tal vez en 3.1 s recibo una gran cantidad de eliminación de manija en brindis, esto no es lo que espero porque tal vez en 3.2 s hago clic en el botón una vez más brindis desaparece inmediatamente en lugar de acción en 3.1 s. Quiero que los usuarios puedan hacer clic en el botón tantas veces como quieran, equivalente a que addClass() se maneje mucho tiempo, pero removeClass() solo se maneje una vez correspondiente a la última addClass() y al último clic. ¿Cómo puedo hacer eso, o tal vez podría darme otra forma de manejar esto, gracias

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Parece que desea cancelar cualquier tiempo de espera aún activo cuando se vuelve a hacer clic en el botón. En ese caso, debe almacenar la ID del temporizador en una variable fuera de la función y luego llamar a clearTimeout antes de configurar el nuevo tiempo de espera.

 let timerId; btn.onclick = function() { toast.classList.add('showToast') clearTimeout(timerId); timerId = setTimeout(function() { toast.classList.remove('showToast') }, 3100) }

Tenga en cuenta que, como se muestra arriba, timerId es una variable global, pero esto no es lo ideal. Idealmente, este código está dentro de alguna función que significaría que timerId no contamina el alcance global. Pero eso depende de la información sobre cómo está diseñado su código que no nos muestra.

about 4 years ago · Juan Pablo Isaza Relatório

0

crear contador usando setInterval()

 var counterHandle; var counter = 0; btn.onclick = function() { counter = 0; clearInterval(counterHandle); toast.classList.add('showToast'); counterHandle = setInterval(()=>{ counter +=1; console.log(counter); if(counter === 3){ toast.classList.remove('showToast'); clearInterval(counterHandle); } }, 1000); }

cuando el botón se presiona muchas veces, el contador siempre será 0 y cuando el contador tiene un valor de 3, el comando se ejecutará

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda