-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.js
40 lines (29 loc) · 786 Bytes
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function playAudio(e){
// console.log(e.keyCode);
let audio=document.querySelector(`audio[data-key="${e.keyCode}"]`);
let key=document.querySelector(`.key[data-key="${e.keyCode}"]`);
// console.log(audio);
// console.log(key)
if(!audio){
return;
}
audio.currentTime=0;
audio.play();
key.classList.add('play');
}
function removeTransition(e){
// console.log(e);
// console.log(e.propertyName);
if(e.propertyName!=='transform')
return;
// console.log(this);
this.classList.remove('play');
}
document.addEventListener('DOMContentLoaded',function(){
window.addEventListener('keydown',playAudio);
const keys=document.querySelectorAll(`.key`);
// console.log(keys);
keys.forEach((key)=>{
key.addEventListener('transitionend',removeTransition);
})
})