File tree Expand file tree Collapse file tree 1 file changed +18
-2
lines changed
Expand file tree Collapse file tree 1 file changed +18
-2
lines changed Original file line number Diff line number Diff line change 66 < link rel ="stylesheet " href ="style.css ">
77</ head >
88< body >
9-
10-
119 < div class ="keys ">
1210 < div data-key ="65 " class ="key ">
1311 < kbd > A</ kbd >
5856 < audio data-key ="76 " src ="sounds/tink.wav "> </ audio >
5957
6058< script >
59+ function playAudio ( e ) {
60+ const audio = document . querySelector ( `audio[data-key="${ e . keyCode } "]` ) ;
61+ const block = document . querySelector ( `div[data-key="${ e . keyCode } "]` ) ;
62+ if ( ! audio )
63+ return ;
64+ block . classList . add ( 'playing' ) ;
65+ audio . load ( ) ;
66+ audio . play ( ) ;
67+ }
68+
69+ function removeEffect ( e ) {
70+ if ( e . propertyName !== 'transform' ) return ;
71+ e . target . classList . remove ( 'playing' ) ;
72+ }
73+
74+ const keys = [ ... document . getElementsByClassName ( 'key' ) ] ;
6175
76+ keys . forEach ( ( key ) => key . addEventListener ( 'transitionend' , removeEffect ) ) ;
77+ window . addEventListener ( 'keydown' , playAudio ) ;
6278</ script >
6379
6480
You can’t perform that action at this time.
0 commit comments