Visitar URL original
Completed Day 1 completely vanilla-ly · wesbos/JavaScript30@c8012a8 · GitHub
Skip to content

Commit c8012a8

Browse files
committed
Completed Day 1 completely vanilla-ly
1 parent fb79ca3 commit c8012a8

1 file changed

Lines changed: 17 additions & 3 deletions

File tree

‎01 - JavaScript Drum Kit/index-START.html‎

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

6060
<script>
61-
window.addEventListener('keydown', function(e) {
62-
console.log(e.keyCode);
63-
})
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+
};
69+
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+
window.addEventListener('keydown', playSound);
6478
</script>
6579

6680

0 commit comments

Comments
 (0)