Skip to content

Commit 77d7730

Browse files
committed
Complete the Drumkit tutorial
1 parent b022023 commit 77d7730

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

01 - JavaScript Drum Kit/index-START.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,23 @@
5858
<audio data-key="76" src="sounds/tink.wav"></audio>
5959

6060
<script>
61+
function playSound(e) {
62+
const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`)
63+
const key = document.querySelector(`.key[data-key="${e.keyCode}"]`)
64+
if (!audio) return; // stop the function from running altogether.
65+
audio.currentTime = 0; // rewind the audio to the beginning
66+
audio.play();
67+
key.classList.add('playing'); // add the .playing CSS class to initate the transition
68+
}
6169

70+
function removeTransition(e) {
71+
if(e.propertyName != 'transform') return; // skip it if it's not a transform
72+
this.classList.remove('playing'); // remove the CSS transition
73+
}
74+
75+
const keys = document.querySelectorAll('.key')
76+
keys.forEach(key => key.addEventListener('transitionend', removeTransition));
77+
window.addEventListener('keydown', playSound);
6278
</script>
6379

6480

0 commit comments

Comments
 (0)