1+ <!DOCTYPE html>
2+ < html >
3+
4+ < head >
5+ < meta charset ="UTF-8 ">
6+ < meta name ="viewport " width ="device-width " initial-scale ="1.0 ">
7+ < title > DRUMS</ title >
8+ < link rel ="stylesheet " href ="style.css ">
9+ </ head >
10+
11+ < body >
12+ < div class ="container ">
13+ < div data-key ="65 " class ="key " id ="key ">
14+ < kbd > A</ kbd >
15+ < span class ="sound "> BOOM</ span > </ div >
16+ < div data-key ="83 " class ="key ">
17+ < kbd > S</ kbd >
18+ < span class ="sound "> CLAP</ span > </ div >
19+ < div data-key ="68 " class ="key ">
20+ < kbd > D</ kbd >
21+ < span class ="sound "> HIHAT</ span > </ div >
22+ < div data-key ="70 " class ="key ">
23+ < kbd > F</ kbd >
24+ < span class ="sound "> KICK</ span > </ div >
25+ < div data-key ="71 " class ="key ">
26+ < kbd > G</ kbd >
27+ < span class ="sound "> OPENHAT</ span > </ div >
28+ < div data-key ="72 " class ="key ">
29+ < kbd > H</ kbd >
30+ < span class ="sound "> RIDE</ span > </ div >
31+ < div data-key ="74 " class ="key ">
32+ < kbd > J</ kbd >
33+ < span class ="sound "> SNARE</ span > </ div >
34+ < div data-key ="75 " class ="key ">
35+ < kbd > K</ kbd >
36+ < span class ="sound "> TINK</ span > </ div >
37+ < div data-key ="76 " class ="key ">
38+ < kbd > L</ kbd >
39+ < span class ="sound "> TOM</ span > </ div >
40+ </ div >
41+ < audio data-key ="65 " src ="sounds/boom.wav "> </ audio >
42+ < audio data-key ="83 " src ="sounds/clap.wav "> </ audio >
43+ < audio data-key ="68 " src ="sounds/hihat.wav "> </ audio >
44+ < audio data-key ="70 " src ="sounds/kick.wav "> </ audio >
45+ < audio data-key ="71 " src ="sounds/openhat.wav "> </ audio >
46+ < audio data-key ="72 " src ="sounds/ride.wav "> </ audio >
47+ < audio data-key ="74 " src ="sounds/snare.wav "> </ audio >
48+ < audio data-key ="75 " src ="sounds/tink.wav "> </ audio >
49+ < audio data-key ="76 " src ="sounds/tom.wav "> </ audio >
50+
51+ < script >
52+ var i ;
53+
54+ function addsound ( e ) {
55+ var audio = document . querySelector ( `audio[data-key="${ e . keyCode } "]` ) ;
56+ var key = document . querySelector ( `.key[data-key="${ e . keyCode } "]` ) ;
57+ if ( ! audio ) return ;
58+ audio . currentTime = 0 ;
59+ audio . play ( ) ;
60+ /* var jq = $.noConflict();
61+ $(window).keydown(function() {
62+ key.addClass("playing");
63+ });*/
64+ key . classList . add ( 'playing' ) ;
65+ }
66+
67+ function removeTransition ( e ) {
68+ this . classList . remove ( 'playing' ) ;
69+ }
70+
71+ const keys = Array . from ( document . querySelectorAll ( ".key" ) ) ;
72+ keys . forEach ( key => key . addEventListener ( 'transitionend' , removeTransition ) )
73+ window . addEventListener ( 'keydown' , addsound ) ;
74+ </ script >
75+
76+ </ html >
0 commit comments