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