Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luan Lima

contador....

Recommended Posts

Olá galera, eu aqui mais uma vez hehe, recentemente eu vim aqui criar um tópico pra implementar uma função, que trabalha em conjunto com este contador, vou tentar deixá-lo genérico para facilitar:

 

 var seg=60;

function contar(){
   document.getElementById('Atacar').addEventListener('click', function(){if(seg!==60){seg=60;}});


if(seg>0){
seg--;
 var t = document.getElementById('clock1');
        t.innerHTML = seg;
           setTimeout('contar()',1000);

          }else

                 {

                  var mensagem = "<?php echo $mensagem; ?>";
                  if(mensagem=='É a vez do seu adversário')

        {
         var enabletrn= document.getElementById('Atacar').disabled=false; }else
         if(mensagem=='Agora é sua vez')
         {

}          var enabletrn= document.getElementById('Atacar').disabled=false;}



   }

 

Como dá pra perceber é um jogo de cartas bem simples...

Bom, essa função funciona 90% bem, a única questão é:

Quando a condição é "agora é sua vez", o contador conta direitinho, 1 minuto e tudo bonitinho, mas quando a condição é "É a vez do seu adversário", a partir da segunda rodada(na primeira vez que roda funciona.. o problema é quando repete), o contador mostra 1 minuto, mas conta apenas 30 segundos(dá pra perceber), eu enxuguei bem o código, pois imagino que o problema esteja na definição da variável seg, possivelmente no meu listener... Mas ainda assim tenho dificuldade em achá-lo... A função parece estar rodando duas vezes, nesse if que eu já citei..

 

Ah outra coisa, o meu else if tá parecendo "mal feito" pois está fazendo o mesmo evento nos dois, mas é porque eu vou possivelmente mexer nisso ainda.... E eles não estão apresentando problema...

Quem puder ajudar agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow fucei aqui e ali... E acho que estou perto da solução... pena que infelizmente ninguém respondeu o tópico ainda...

A questão é que nisso de voltar o contador pra 60, antes dele zerar, parece que a função acaba sendo executada duas vezes( e o tempo passa como se fosse 2 por 1 segundos)... Eu to querendo parar esse contador, mas eu não to conseguindo fazer isso... pensei no break, mas ele parece não funcionar no listener.... alguém puder dar uma luz grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.