Tell us what’s happening:
I am failing tests 7 & 8 but I am able to play the drum-pad with both mouse-clicks and the keyboard. Can anyone see why the test still fails me?
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">
<div class="drum-pad" id="Heater 1">Q<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-1.mp3" id="Q"></div>
<div class="drum-pad" id="Heater 2">W<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-2.mp3" id="W"></div>
<div class="drum-pad" id="Heater 3">E<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-3.mp3" id="E"></div>
<div class="drum-pad" id="Heater 4">A<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-4_1.mp3" id="A"></div>
<div class="drum-pad" id="Clap">S<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Heater-6.mp3" id="S"></div>
<div class="drum-pad" id="Open-HH">D<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Dsc_Oh.mp3" id="D"></div>
<div class="drum-pad" id="Kick-n'-Hat">Z<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Kick_n_Hat.mp3" id="Z"></div>
<div class="drum-pad" id="Kick">X<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/RP4_KICK_1.mp3" id="X"></div>
<div class="drum-pad" id="Closed-HH">C<audio class="clip" src="https://cdn.freecodecamp.org/curriculum/drum/Cev_H2.mp3" id="C"></div>
</div>
<p id="display"></p>
</div>
<script src="script.js"></script>
</body>
</html>
/* file: script.js */
const body = document.querySelector("body");
const drumpad = document.querySelectorAll(".drum-pad");
const display = document.getElementById("display");
const drumKeys = ['Q','W','E','A','S','D','Z','X','C'];
const audio = new Audio();
body.addEventListener("keydown",(event)=>{playKey(event)});
drumpad.forEach((pad)=>{pad.addEventListener("click",()=>{playClick(pad)})});
function playKey(event) {
const eventKey = event.key.toUpperCase();
if (drumKeys.includes(eventKey)){
const key = document.getElementById(eventKey)
audio.src = key.src
audio.play();
display.innerText = key.parentElement.id
}
}
function playClick(pad){
audio.src = pad.children[0].src;
audio.play();
display.innerText = pad.id;
}
/* file: styles.css */
body {
background:#1b1b32;
}
#display {
color:#f1be32;
text-align: center;
vertical-align: middle;
line-height:50px;
background-color:#3b3b4f;
width:170px;
height:50px;
border-radius:10%;
}
#pad-bank {
display:grid;
width:100px;
height:250px;
gap:10px;
grid-template: 50px 50px 50px / auto auto auto;
}
.drum-pad {
background-color:#f1be32;
width:50px;
height:50px;
text-align: center;
vertical-align: middle;
line-height:50px;
border-radius:25%;
cursor: pointer;
}
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0
Challenge Information:
Build a Drum Machine - Build a Drum Machine