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

Skip to content

Commit e127a2f

Browse files
Day 1
1 parent 45e08db commit e127a2f

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

01 - JavaScript Drum Kit/index-START.html

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

6060
<script>
61+
document.addEventListener('keyup', play);
62+
document.querySelectorAll('.key').forEach(
63+
el => el.addEventListener('transitionend', removeTransition)
64+
);
6165

66+
function play(event) {
67+
const key = event.keyCode;
68+
const button = document.querySelector(`.key[data-key="${key}"]`);
69+
const audio = document.querySelector(`audio[data-key="${key}"]`);
70+
71+
if (!button) { return; }
72+
73+
button.classList.add('playing');
74+
audio.currentTime = 0;
75+
audio.play();
76+
}
77+
78+
function removeTransition(event) {
79+
if (event.propertyName !== 'transform') { return; }
80+
81+
event.target.classList.remove('playing');
82+
}
6283
</script>
6384

6485

0 commit comments

Comments
 (0)