3
respostas

Como definir tempo para a ação ser executada novamente em javascript

Tenho um botão que quando eu clico nele, ele troca seu proprio icone e mostra um menu (uma seta pra baixo para mostrar e troca por uma seta para cima para ocultar o menu), mas se eu ficar clicando rapidamente, ele alterna rapidamente entre os icones mas nao da tempo do menu aparece e sumir, aí as vezes quando o menu fica oculto a seta fica virada. Que codigo em javascript tenho que usar para resolver isso.

O botao:

<div class="col-md-12">
              <button class="btn navbar-inverse btn-hamburguer btn-xs center-block" type="button" data-toggle="collapse" href="#collapse1" {{action 'mudaBotao'}}>
                  <span class="glyphicon {{if botao 'glyphicon-triangle-bottom' 'glyphicon-triangle-top'}} glyphicon-align-center" id="botao-show"/>
              </button>
            </div>

O javascript que troca de true pra false, alternando a class do botao.

botao: true,

(Codigo Oculto...)

mudaBotao(){
      this.set('botao', !this.get('botao'));
    },
3 respostas

Fala Leonardo, blz? Tenta usar dentro do bloco:

this.stop();

Você pode utilizar o código abaixo para chamar uma função de tempos em tempos, mas no seu caso, acredito que o problema é outro!

setInterval(function(){ suaFunction(); }, 3000); <-- Milisegundos;

Julio, tentei usar essa função mas também não deu certo. Vandré, não entendi o que faz esse this.stop(); mas coloquei e não mudou nada.