Drum Kit Project 🥁

This project was built by following Wes Bos's JavaScript 30 course. It simulates a virtual drum kit that plays different drum sounds when specific keys are pressed on the keyboard.

Drum Kit screenshot

Code Sample

function playSound(e) {
  const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
  const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
  if (!audio) return;
  audio.currentTime = 0;
  audio.play();
  key.classList.add('playing');
}

function removeTransition(e) {
  if (e.propertyName !== 'transform') return;
  this.classList.remove('playing');
}

const keys = document.querySelectorAll('.key');
keys.forEach(key => key.addEventListener('transitionend', removeTransition));
window.addEventListener('keydown', playSound);

What I Learned

🔗 View project Live Demo
← Back to portfolio