Ir para conteúdo

POWERED BY:

Arquivado

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

Nandoluizpm

[Resolvido] Verificação de variável

Recommended Posts

Tenho uma duvida e preciso da ajuda de voces!

 

dentro de um codigo javascript inicio um setInterval após o click no botão conectar:

var intervalo;

$("#connectLink").click(function(){	
   intervalo = setInterval(function(){
       'uma ação qualquer'
   }, 1000);
});

 

Porém eu queria impedir que clicando pela segunda vez, inicie um novo setInterval. Penso em fazer isso através de uma verificação da variável 'intervalo', mas não sei se posso fazer um if {intervalo != ''}. Por favor me ajudem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

var interval;

$( '#connectLink' ).on( 'click', function(){

   interval = interval || setInterval( function(){

       console.log( 'lalalala' )

   }, 1000 );

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por favor, preciso entender essa função que você me passou pois eu vou manipulá-la. Tem que considerar que após o click no botão de 'Desconectar', o 'setInterval' é cancelado e o botão de 'Conectar' deve permitir o reinício. Por favor me ajudem com isso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas queria entender melhor o que acontece dentro dela... Devo substituir a minha função por esta?

 

Não, você tem que ver o que eu fiz e tentar aplicar ao seu problema.

 

Veja que eu defini a variável interval no topo:

var interval;

 

Como eu não defini nenhum valor, ela está como undefined, já que está como undefined ela é interpretada como um valor falso quando usada em uma expressão, que foi o que eu fiz:

 

Esse trecho:

interval = interval || setInterval( function(){

   console.log( 'lalalala' )

}, 1000 );

 

Você deve ler assim:

//se interval possuir um valor falso, define a mesma para o retorno da chamada à função setInterval.
interval = interval || setInterval( function(){

   console.log( 'lalalala' )

}, 1000 );

 

Na próxima execução desse código interval já vai possuir um valor, e logo será apenas definida para ela mesma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado! Valeu mesmo. Mas quando o setInterval for cancelado pelo botão 'Desconectar', a variável 'intervalo' voltará a ser 'undefined' para que o processo possa se repetir?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito Obrigado! Valeu mesmo. Mas quando o setInterval for cancelado pelo botão 'Desconectar', a variável 'intervalo' voltará a ser 'undefined' para que o processo possa se repetir?

 

desde que você o faça via clearInterval, sim.

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.