File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 77</ head >
88< body >
99
10-
1110 < div class ="keys ">
1211 < div data-key ="65 " class ="key ">
1312 < kbd > A</ kbd >
5857 < audio data-key ="76 " src ="sounds/tink.wav "> </ audio >
5958
6059< script >
60+ var onKeyPress = function ( e ) {
61+ var audioElement = document . querySelector ( `audio[data-key="${ e . keyCode } "]` ) ;
62+ var keyElement = document . querySelector ( `div[data-key="${ e . keyCode } "]` ) ;
63+
64+ if ( ! audioElement ) return ;
65+
66+ keyElement . classList . add ( "playing" )
67+ audioElement . currentTime = 0 ;
68+ audioElement . play ( ) ;
69+ }
70+
71+ const keys = document . querySelectorAll ( '.key' ) ;
72+
73+ keys . forEach ( key => {
74+ key . addEventListener ( 'transitionend' , function ( e ) {
75+ if ( e . propertyName !== 'transform' )
76+ return ;
77+ e . target . classList . remove ( "playing" ) ;
78+ } ) ;
79+ } ) ;
80+
6181
82+ window . addEventListener ( 'keydown' , onKeyPress )
6283</ script >
6384
6485
You can’t perform that action at this time.
0 commit comments