18 lines
485 B
JavaScript
18 lines
485 B
JavaScript
const track = document.getElementById('track');
|
|
const box = document.getElementById('box');
|
|
const slides = document.querySelectorAll('.slide');
|
|
let idx = 0;
|
|
|
|
function goTo(n){
|
|
idx = (n + slides.length) % slides.length;
|
|
track.style.transform = `translateX(-${idx * 100}%)`;
|
|
|
|
/* light blink */
|
|
box.classList.add('swap');
|
|
setTimeout(() => box.classList.remove('swap'), 250);
|
|
}
|
|
|
|
function move(d){ goTo(idx + d); }
|
|
|
|
/* auto-advance every 3 s */
|
|
setInterval(() => move(1), 3000); |