18 lines
599 B
JavaScript
18 lines
599 B
JavaScript
const slideshow = document.getElementById('home-slideshow');
|
|
|
|
if (slideshow) {
|
|
const items = [...slideshow.querySelectorAll('picture, video')];
|
|
const prev = slideshow.querySelector('.prev');
|
|
const next = slideshow.querySelector('.next');
|
|
let current = 0;
|
|
|
|
function goTo(index) {
|
|
items[current].classList.remove('active');
|
|
current = (index + items.length) % items.length;
|
|
items[current].classList.add('active');
|
|
}
|
|
|
|
items[0]?.classList.add('active');
|
|
prev?.addEventListener('click', () => goTo(current - 1));
|
|
next?.addEventListener('click', () => goTo(current + 1));
|
|
}
|