-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
31 lines (25 loc) · 792 Bytes
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function tocaSom(seletorAudio) {
const elemento = document.querySelector(seletorAudio);
if (elemento && elemento.localName === "audio") {
elemento.play();
} else {
alert("Elemento não encontrado ou seletor inválido!");
}
}
const listaDeTeclas = document.querySelectorAll(".tecla");
for (let i = 0; i < listaDeTeclas.length; i++) {
const tecla = listaDeTeclas[i];
const instrumento = tecla.classList[1];
const idAudio = `#som_${instrumento}`;
tecla.onclick = function() {
tocaSom(idAudio);
}
tecla.onkeydown = function(evento) {
if (evento.code == "Space" || evento.code == "Enter") {
tecla.classList.add("ativa");
}
}
tecla.onkeyup = function() {
tecla.classList.remove("ativa");
}
}