1
resposta

[Dúvida] onkeydown add e remove

Primeiro deixar registrado que estou fazendo o "A partir do zero: iniciante em programação", e achei a curva muito grande, do nada começamos usar while... e "for e if" apesar de ja termos usando para o pong, nao teve uma aula bem explicativa de como eles funcionam exatamente...senti isso pois aprendi em outro lugar de uma maneira muito mais compreensível

e quanto ao alura midi, na parte "onkeydown"

tecla.onkeydown = function(){
    tecla.classList.add('ativa');
    tecla.classList.remove('ativa');
    }

qual seria o problema em deixar o add e remove na mesma função?

1 resposta

Bom dia.

Quando você executa um função, o javascript vai ler e executar linha por linha da função, fazendo um rota lógica de processamento. Ao vocÊ chamar o add e o remove na mesma função vai acontecer o seguinte:

  1. Ele vai chamar a função
  2. Vai ler a linha "tecla.classList.add('ativa');" ativando a class
  3. Em seguida vai ler a linha "tecla.classList.remove('ativa');" desativando a mesma classe.
  4. Sai da função

Como o processamento é em milisegundos, o usuário não verá essa adição e remoção da classe. Caso queira colocar um efeito de "piscar" seria necessário colocar uma lógica de setTimeOut() entre o add('ativa) e o remove('ativa')