File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change 58
58
< audio data-key ="76 " src ="sounds/tink.wav "> </ audio >
59
59
60
60
< script >
61
-
61
+
62
+ function playSound ( e ) {
63
+ const audio = document . querySelector ( `audio[data-key="${ e . keyCode } "]` ) ;
64
+ const key = document . querySelector ( `.key[data-key="${ e . keyCode } "]` ) ;
65
+ if ( ! audio ) return ; // stops the function
66
+ audio . currentTime = 0 ; // rewind to the start
67
+ audio . play ( ) ;
68
+ key . classList . add ( 'playing' ) ;
69
+ }
70
+
71
+ function removeTransition ( e ) {
72
+ if ( e . propertyName !== 'transform' ) return ;
73
+ this . classList . remove ( 'playing' ) ;
74
+ }
75
+
76
+ const keys = document . querySelectorAll ( '.key' ) ;
77
+ keys . forEach ( key => key . addEventListener ( 'transitionend' , removeTransition ) ) ;
78
+ window . addEventListener ( 'keydown' , playSound ) ;
79
+
62
80
</ script >
63
81
64
82
You can’t perform that action at this time.
0 commit comments