Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c26a957

Browse files
author
William Coleman
authored
Merge pull request #1 from wcski/drumkit
added working drum machine
2 parents 233ad37 + 3826363 commit c26a957

File tree

2 files changed

+17
-83
lines changed

2 files changed

+17
-83
lines changed

01 - JavaScript Drum Kit/index-FINISHED.html

Lines changed: 0 additions & 83 deletions
This file was deleted.

01 - JavaScript Drum Kit/index-START.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,24 @@
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;
65+
audio.currentTime = 0;
66+
audio.play();
67+
key.classList.add('playing');
68+
};
6169

70+
function removeTransition(e) {
71+
if(e.propertyName !== 'transform') return;
72+
this.classList.remove('playing')
73+
}
74+
75+
const keys = document.querySelectorAll('.key');
76+
keys.forEach(key => key.addEventListener('transitionend', removeTransition));
77+
78+
window.addEventListener('keydown', playsound);
6279
</script>
6380

6481

0 commit comments

Comments
 (0)