-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
65 lines (55 loc) · 1.68 KB
/
Copy pathscript.js
File metadata and controls
65 lines (55 loc) · 1.68 KB
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
// Get elements from the HTML
const counter = document.getElementById('counter');
const increaseBtn = document.getElementById('increaseBtn');
const decreaseBtn = document.getElementById('decreaseBtn');
const resetBtn = document.getElementById('resetBtn');
// Starting counter value
let count = 0;
// Function to update the counter display
function updateCounter() {
counter.textContent = count;
// Add animation effect
counter.classList.add('counter-animate');
setTimeout(() => {
counter.classList.remove('counter-animate');
}, 200);
// Change color based on value
if (count > 0) {
counter.style.color = '#27ae60'; // Green for positive
} else if (count < 0) {
counter.style.color = '#e74c3c'; // Red for negative
} else {
counter.style.color = '#667eea'; // Blue for zero
}
}
// Function to increase counter
function increaseCounter() {
count++;
updateCounter();
}
// Function to decrease counter
function decreaseCounter() {
count--;
updateCounter();
}
// Function to reset counter
function resetCounter() {
count = 0;
updateCounter();
}
// Add event listeners to buttons
increaseBtn.addEventListener('click', increaseCounter);
decreaseBtn.addEventListener('click', decreaseCounter);
resetBtn.addEventListener('click', resetCounter);
// Keyboard support (optional enhancement)
document.addEventListener('keydown', function(event) {
if (event.key === 'ArrowUp') {
increaseCounter();
} else if (event.key === 'ArrowDown') {
decreaseCounter();
} else if (event.key === 'r' || event.key === 'R') {
resetCounter();
}
});
// Initialize the counter display
updateCounter();