-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
132 lines (107 loc) · 2.78 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
// SoundJS for press buttons
function loadSound() {
createjs.Sound.registerSound("sounds/tom-1.mp3", "tom1");
createjs.Sound.registerSound("sounds/tom-2.mp3", "tom2");
createjs.Sound.registerSound("sounds/tom-3.mp3", "tom3");
createjs.Sound.registerSound("sounds/tom-4.mp3", "tom4");
createjs.Sound.registerSound("sounds/snare.mp3", "snare");
createjs.Sound.registerSound("sounds/crash.mp3", "crash");
createjs.Sound.registerSound("sounds/kick-bass.mp3", "kick");
}
function playTom1() {
createjs.Sound.play("tom1");
}
function playTom2() {
createjs.Sound.play("tom2");
}
function playTom3() {
createjs.Sound.play("tom3");
}
function playTom4() {
createjs.Sound.play("tom4");
}
function playSnare() {
createjs.Sound.play("snare");
}
function playCrash() {
createjs.Sound.play("crash");
}
function playKick() {
createjs.Sound.play("kick");
}
// Detecting Mobile Devices
if (
/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
navigator.userAgent
)
) {
var pButtons = document.querySelectorAll(".drum p");
for (var i = 0; i < pButtons.length; i++) {
pButtons[i].classList.add("invisible-p");
}
document.querySelector("footer p").innerHTML = "Made with ❤️ in Chisinau.";
}
// Detecting Button Press for only animation
var drumButtons = document.querySelectorAll(".drum p");
for (var i = 0; i < drumButtons.length; i++) {
drumButtons[i].addEventListener("click", function () {
var buttonInnerHTML = this.innerHTML;
buttonAnimation(buttonInnerHTML);
});
}
// Detecting Keyboard Press
document.addEventListener("keydown", function (event) {
makeSound(event.key);
buttonAnimation(event.key);
});
// Play Sound
function makeSound(key) {
switch (key) {
case "W":
case "w":
var tom1 = new Audio("sounds/tom-1.mp3");
tom1.play();
break;
case "A":
case "a":
var tom2 = new Audio("sounds/tom-2.mp3");
tom2.play();
break;
case "S":
case "s":
var tom3 = new Audio("sounds/tom-3.mp3");
tom3.play();
break;
case "D":
case "d":
var tom4 = new Audio("sounds/tom-4.mp3");
tom4.play();
break;
case "J":
case "j":
var snare = new Audio("sounds/snare.mp3");
snare.play();
break;
case "K":
case "k":
var crash = new Audio("sounds/crash.mp3");
crash.play();
break;
case "L":
case "l":
var kick = new Audio("sounds/kick-bass.mp3");
kick.play();
break;
default:
console.log(buttonInnerHTML);
break;
}
}
// Animation
function buttonAnimation(currentKey) {
var activeButton = document.querySelector("." + currentKey.toLowerCase());
activeButton.classList.add("pressed");
setTimeout(function () {
activeButton.classList.remove("pressed");
}, 100);
}