//Método para tocar o som
function playSound(elementId) {
const element = document.querySelector(elementId);
if (element === null) {
alert("Elemento não encontrado!");
} else
if (element.localName === "audio") {
element.play();
}
else {
alert("Deve ser um elemento de audio");
}
}
//Método para retornar o id do elemento audio com base na class do button
function defineIdButton(classButton) {
return `#som_${classButton}`;
}
//Método para fazer a atribuição da função de tocar o som para todos os botões do documento
function defineLogicOfButtons(buttons) {
for (let index = 0; index < buttons.length; index++) {
const button = buttons[index];
const idButton = defineIdButton(buttons[index].classList[1]);
button.onclick = function () {
playSound(idButton);
};
button.onkeydown = function (event) {
if (event.keyCode === space || event.keyCode === enter) {
button.classList.add('ativa');
}
}
button.onkeyup = function () {
button.classList.remove('ativa');
}
}
}
const space = 32, enter = 13;
//Capturando todos os botões do documento
const documentButtons = document.querySelectorAll("button");
defineLogicOfButtons(documentButtons);