Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Fiz de uma forma diferente e gostaria de saber se tem problema

Fiz de uma forma diferente: HTML:

<h1>Alura Midi</h1>

<section class="teclado">
    <button onclick="teclaPom(0)" class="tecla tecla_pom">Pom</button>
    <button onclick="teclaPom(1)" class="tecla tecla_clap">Clap</button>
    <button onclick="teclaPom(2)" class="tecla tecla_tim">Tim</button>

    <button onclick="teclaPom(3)" class="tecla tecla_puff">Puff</button>
    <button onclick="teclaPom(4)" class="tecla tecla_splash">Splash</button>
    <button onclick="teclaPom(5)" class="tecla tecla_toim">Toim</button>

    <button onclick="teclaPom(6)" class="tecla tecla_psh">Psh</button>
    <button onclick="teclaPom(7)" class="tecla tecla_tic">Tic</button>
    <button onclick="teclaPom(8)" class="tecla tecla_tom">Tom</button>
</section>

<audio src="sounds/keyq.wav" id="som_tecla_pom"></audio>
<audio src="sounds/keyw.wav" id="som_tecla_clap"></audio>
<audio src="sounds/keye.wav" id="som_tecla_tim"></audio>
<audio src="sounds/keya.wav" id="som_tecla_puff"></audio>
<audio src="sounds/keys.wav" id="som_tecla_splash"></audio>
<audio src="sounds/keyd.wav" id="som_tecla_toim"></audio>
<audio src="sounds/keyz.wav" id="som_tecla_psh"></audio>
<audio src="sounds/keyx.wav" id="som_tecla_tic"></audio>
<audio src="sounds/keyc.wav" id="som_tecla_tom"></audio>

<script src="app.js"></script>

JS: let listaDeSom = document.querySelectorAll("audio") function teclaPom(id){ listaDeSom[id].play() }

tem algum problema com isso? é algo errado a se fazer profissionalmente?

Obs: selecionei pela tag pois não quis criar uma classe para por nos mesmos, mas eu poderia fazer isso e daria no mesmo resultado

1 resposta
solução!

Oi, Eduardo, tudo bem?

Primeiramente, parabéns por estar explorando diferentes formas de implementar seu projeto! Isso é ótimo para o aprendizado.

Seu HTML está bem estruturado, com botões e elementos de áudio. A única coisa que eu sugeriria é evitar o uso de onclick diretamente no HTML, pois isso pode tornar o código menos modular e mais difícil de manter. Seu JavaScript é funcional, mas pode ser melhorado para seguir boas práticas de programação.

Pontos de Melhoria:

  • Ao invés de usar índices fixos, você pode usar querySelector para selecionar elementos de forma mais dinâmica.
  • Mover a lógica de onclick para o JavaScript torna seu código mais modular e fácil de manter.
  • Adicionar uma verificação para garantir que o elemento de áudio existe antes de tentar reproduzir o som.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!