Tell us what’s happening:
Hello,
I’ve tried several solutions but I can’t get pass controls 8 & 9, even though my dorm machine seems to be working just fine .
Could anybody help me figure this out ?
Thx
Your code so far
<!-- file: index.html -->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Drum Machine</title>
<link rel="stylesheet" href="styles.css"/>
</head>
<body>
<div id="drum-machine">
<div id="pad-bank">
<button class="drum-pad" id="Heater-1">Q<audio class="clip" id="Q" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-1.mp3"></audio></button>
<button class="drum-pad" id="Heater-2">W<audio class="clip" id="W" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-2.mp3"></audio></button>
<button class="drum-pad" id="Heater-3">E<audio class="clip" id="E" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-3.mp3"></audio></button>
<button class="drum-pad" id="Heater-4">A<audio class="clip" id="A" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-4_1.mp3"></audio></button>
<button class="drum-pad" id="Clap">S<audio class="clip" id="S" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-6.mp3"></audio></button>
<button class="drum-pad" id="Open-HH">D<audio class="clip" id="D" src="https://cdn.freecodecamp.org/curriculum/drum/Dsc_Oh.mp3"></audio></button>
<button class="drum-pad" id="Kick-n'-Hat">Z<audio class="clip" id="Z" src="https://cdn.freecodecamp.org/curriculum/drum/Kick_n_Hat.mp3"></audio></button>
<button class="drum-pad" id="Kick">X<audio class="clip" id="X" src="https://cdn.freecodecamp.org/curriculum/drum/RP4_KICK_1.mp3"></audio></button>
<button class="drum-pad" id="Closed-HH">C<audio class="clip" id="C" src="https://cdn.freecodecamp.org/curriculum/drum/Cev_H2.mp3"></audio></button>
</div>
<p id="display"></p>
</div>
</body>
<script src="script.js"></script>
</html>
/* file: script.js */
const padBank = document.getElementById("pad-bank")
const drumPads = document.querySelectorAll(".drum-pad");
const display = document.getElementById("display");
const playDrum = (id) => {
const audioElement = document.getElementById(id)
display.innerText = (audioElement.parentElement.id)
audioElement.play();
}
drumPads.forEach((drum) => {
drum.addEventListener("click",()=>{
playDrum(drum.innerText);
})
})
addEventListener("keypress", (event) =>{
playDrum(event.key.toUpperCase())
});
/* Old version of the event listener step 6
padBank.addEventListener("click", (event) => {
playDrum(event.target.innerText);
});
*/
/* file: styles.css */
*{
box-sizing : border_box;
}
#drum-machine{
background-color : #C3110C;
width : 80vw;
height : 120vw;
border-radius : 15px;
margin : auto;
padding-top : 1vh;
}
#pad-bank{
padding : 10px;
border-radius: 10%;
margin : 15px auto;
width : 65vw;
height : 65vw;
display: grid;
grid-template-columns : 1fr 1fr 1fr;
grid-template-rows : 1fr 1fr 1fr ;
background: #740A03;
}
.drum-pad{
background : #280905;
border-radius: 15%;
color: #E6501B;
text-align: center;
align-content: center;
font-size: 1.5rem;
}
#display{
background : #280905;
color: #E6501B;
margin: 30px auto ;
border-radius: 3px;
text-align: center;
width : 45vw;
height : 20px;
padding: 5px;
}
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.6 Safari/605.1.15
Challenge Information:
Build a Drum Machine - Build a Drum Machine