Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <div data-key="65" class="key" onclick="playSound()">
- <kbd>A</kbd>
- <span class="sound">clap</span>
- </div>
- <audio data-key="65" src="sounds/clap.wav"></audio>
- <audio data-key="83" src="sounds/hihat.wav"></audio>
- <audio data-key="68" src="sounds/kick.wav"></audio>
- <audio data-key="70" src="sounds/openhat.wav"></audio>
- <audio data-key="71" src="sounds/boom.wav"></audio>
- <audio data-key="72" src="sounds/ride.wav"></audio>
- <audio data-key="74" src="sounds/snare.wav"></audio>
- <audio data-key="75" src="sounds/tom.wav"></audio>
- <audio data-key="76" src="sounds/tink.wav"></audio>
- <script>
- function playSound(e) {
- const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`);
- const key = document.querySelector(`.key[data-key="${e.keyCode}"]`);
- if (!audio) return;
- audio.currentTime = 0;
- audio.play();
- key.classList.add('playing');
- }
- function removeTransition(e) {
- if (e.propertyName !== 'transform') return;
- this.classList.remove('playing');
- }
- const keys = document.querySelectorAll('.key');
- keys.forEach(key => key.addEventListener('transitionend', removeTransition));
- window.addEventListener('keydown', playSound);
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement