Ir para conteúdo
Fórum Script Brasil
  • 0

(resolvido) Contagen Regressiva Usando Setinterval Com Problemas


Spyder.RV

Pergunta

Galera, dá uma olhada no código abaixo:

A idéia é mostrar um "timer" decrescente em segundos a partir do parâmetro tMin repassado como se fossem minutos. faço os cálculos e converto em milissegundos e mando bala na contagem regressiva...

O problema é que quando zera, continua descrescendo com valores negativos...

Não estou conseguindo ajustar o clearInterval para parar a contagem quando zerar...

Como implementar isso??? É mesmo com o setInterval/clearInterval ou tem um jeito mais fácil?

...
var tMax = 0;

iniciaConexao(1);

function iniciaConexao(tMin)
{
   alert("Atenção!\n\n\nO tempo de conexão é de " + tMin + " minutos.\n\nSe precisar observar mais tempo,\n" + "faça a conexão novamente!");

   tMax = tMin * 60000;    // Tempo em Milisegundos
   //ConnectServer();
   setInterval('mostraTempo(tMax)', 1000);
}

function mostraTempo(tLeft)
{
   var s = ((tLeft-1000) / 1000);
   var m = parseInt(s / 60);
   var r = s - (m*60);

   document.getElementById('timerLeft').innerHTML = "<strong>" + m + "m, " + r + "s</strong>";

   tMax -= 1000;
   if (tMax == 0)
      alert("desconectar");

}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
não é falta de um if?

exemplo: if valor < que 0 executa uma ação?

beleza...

Agora tá bom, valeu!

var tMax = 0;
var dummy;
function iniciaConexao(tMin)
{
 alert("Atenção!\n\n\nO tempo de conexão é de " + 
    tMin + " minutos.\n\nSe precisar observar mais tempo,\n" + 
    "faça a conexão novamente!");
 tMax = tMin * 60000; // Tempo em Milisegundos
 ConnectServer();
 dummy = setInterval('mostraTempo(tMax)', 1000);
}

function mostraTempo(tLeft)
{
 var s = ((tLeft-1000) / 1000);
 var m = parseInt(s / 60);
 var r = s - (m*60);

 document.getElementById('timerLeft').innerHTML = "<strong>" + m + "m, " + 
      r + "s</strong>";

 tMax -= 1000;
 if (tMax == 0)
 {
  clearInterval(dummy);
  ClosePTZnRec();
  alert("desconectar");
 }
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...