diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html index 4070d32767..c4b2d97c4e 100644 --- a/01 - JavaScript Drum Kit/index-START.html +++ b/01 - JavaScript Drum Kit/index-START.html @@ -57,9 +57,7 @@ - + diff --git a/01 - JavaScript Drum Kit/sounds.js b/01 - JavaScript Drum Kit/sounds.js new file mode 100644 index 0000000000..79e7d3b434 --- /dev/null +++ b/01 - JavaScript Drum Kit/sounds.js @@ -0,0 +1,19 @@ +const 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'); +}; + +const removeTransition = (e) => { + if (e.propertyName !== 'transform') return; + e.target.classList.remove('playing'); +}; + +window.addEventListener('keydown', playSound); +const keys = document.querySelectorAll('.key'); +keys.forEach(key => key.addEventListener('transitionend', removeTransition));