1
resposta

Como fazer variável ter o mesmo valor fora da função?

Por exemplo, eu delcaro uma variável fora de uma uma função de click, quando o usuário clica uma vez (limitar a função para funcionar apenas uma vez) essa variável recebe 1. Então em outra funcao de click o usuário clica e essa variável recebe 1 de novo, então agora era teria o valor de 2.

Como posso fazer isso? Porque nos testes que fiz, a variável quando sai da função passa a valer 0

algo assim:

var j = 0;

$(".div" ).one("click", function() {
j++;
} ) ;

$(".div2" ).one("click", function() {
j++;
} ) 

console. log(j);

Aqui ela deveria ter o valor de 2.

1 resposta

Fala ai Gustavo, tudo bem? O funcionamento do seu código esta correto, ou seja.

  1. Você definiu a variável globa.
  2. Criou a primeira função que vai incrementá-la.
  3. Criou a segunda função que também vai incrementá-la.

Até esse ponto tudo está correto.

O problema é seu console.log.

Você está logando o valor inicial dela e quando a mesma é incrementada o log não é feito novamente.

Para ver esse funcionamento, adiciona o console.log em cada função:

var j = 0;

$(".div" ).one("click", function() {
    j++;
    console. log(j);
} ) ;

$(".div2" ).one("click", function() {
    j++;
    console. log(j);
} ) 

Agora a cada mudança na variável a mesma será logada.

Espero ter ajudado.