Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida sobre idElementoAudio, não entendi a funcionalidade dele.

Minha dúvida é, se no document.querySelector procuramos um elemento dentro do nosso documento HTML, por que colocamos o idElementoAudio, sendo que ele não é referenciado nenhuma vez no HTML e nem posteriormente no código em JS.

Essa parte realmente ficou confusa para mim, se alguém puder ajudar eu agradeço.

function tocaSom(idElementoAudio){
    document.querySelector(idElementoAudio).play();
} 

Outra dúvida é sobre o classList[1], por que usamos esse número 1?

3 respostas
solução!

Olá Kelwin, tudo bem? O contexto que você colocou foi a declaração de uma função no javascript. Certas funções necessitam de dados para funcionarem, que chamamos de parametros. Eles são escritos na declaração da função e representam uma ideia do tipo de dado que necessitamos. Nesse caso, o parametro é o "idElementoAudio", que representa a ideia do nosso input assim como o que a função, no momento em que for chamada, deve fazer com ele. Outro detalhe é que funções não são executadas no momento em que declaramos elas, elas precisam ser invocadas, ou chamadas como preferir. Nesse sentido, não estamos executando a função tocaSom() com o "idElementoAudio", que realmente não foi declarado no HTML.

Para executar a função tocaSom() devemos chama-la usando o seu nome e inserindo o id de um elemento, dado necessário que foi representado pelo parametro. Por exemplo:

tocaSom(#som_tecla_pom)

Espero que tenha entendido. Caso não tenha posso explicar novamente de outra maneira.

Olá, Kelwin, tudo certo?

Sobre a sua segunda dúvida, focada no classList. Pelo que entendi, nós utilizamos o número 1 porque as teclas no HTML possuem duas classes: uma genérica, igual para todas, chamada "tecla", e outra que muda para cada botão. A primeira é o elemento 0 da lista, a segunda é o elemento 1. Como queremos acessar a classe específica de cada botão e não a classe genérica, nós utilizamos o classList[1] e não o classList[0].

Olá Roger e Gabriel, gostaria muito de ter marcado ambos como solução neste post.

Fico muito grato pela ajuda de ambos e consegui compreender bem, já até apliquei funções parecidas em outros projetos e agora soa muito mais natural pra mim.

Forte abraço para vocês dois e um excelente fim de semana!