-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathcase-studies-carousel.js
More file actions
42 lines (34 loc) · 1.08 KB
/
case-studies-carousel.js
File metadata and controls
42 lines (34 loc) · 1.08 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
let currentSlide = 0;
const slides = document.querySelectorAll('.slide');
const dots = document.querySelectorAll('.dot');
const totalSlides = slides.length;
function showSlide(index) {
// Remove active class from all slides and dots
slides.forEach(slide => slide.classList.remove('active'));
dots.forEach(dot => dot.classList.remove('active'));
// Add active class to current slide and dot
slides[index].classList.add('active');
dots[index].classList.add('active');
currentSlide = index;
}
function nextSlide() {
let next = (currentSlide + 1) % totalSlides;
showSlide(next);
}
function previousSlide() {
let prev = (currentSlide - 1 + totalSlides) % totalSlides;
showSlide(prev);
}
function goToSlide(index) {
showSlide(index);
}
// Keyboard navigation
document.addEventListener('keydown', (e) => {
if (e.key === 'ArrowLeft') previousSlide();
if (e.key === 'ArrowRight') nextSlide();
});
// Optional: Auto-advance slides every 5 seconds
// Uncomment the lines below to enable auto-play
// setInterval(() => {
// nextSlide();
// }, 5000);