Skip to content

Commit 799c59e

Browse files
committed
day 1
1 parent 5c3fc9b commit 799c59e

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

01 - JavaScript Drum Kit/index-START.html

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
<link rel="stylesheet" href="style.css">
77
</head>
88
<body>
9-
10-
119
<div class="keys">
1210
<div data-key="65" class="key">
1311
<kbd>A</kbd>
@@ -58,7 +56,25 @@
5856
<audio data-key="76" src="sounds/tink.wav"></audio>
5957

6058
<script>
59+
function playAudio(e) {
60+
const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
61+
const block = document.querySelector(`div[data-key="${e.keyCode}"]`);
62+
if(!audio)
63+
return;
64+
block.classList.add('playing');
65+
audio.load();
66+
audio.play();
67+
}
68+
69+
function removeEffect(e) {
70+
if (e.propertyName !== 'transform') return;
71+
e.target.classList.remove('playing');
72+
}
73+
74+
const keys = [... document.getElementsByClassName('key')];
6175

76+
keys.forEach((key) => key.addEventListener('transitionend', removeEffect));
77+
window.addEventListener('keydown', playAudio);
6278
</script>
6379

6480

0 commit comments

Comments
 (0)