20 lines
707 B
JavaScript
20 lines
707 B
JavaScript
(function() {
|
|
var track = document.querySelector('.carousel-track');
|
|
if (!track) return;
|
|
var dots = document.querySelectorAll('.carousel-dot');
|
|
var caption = document.getElementById('carousel-caption');
|
|
var captions = JSON.parse(caption.dataset.captions);
|
|
var count = dots.length;
|
|
var current = 0;
|
|
function go(i) {
|
|
current = i;
|
|
track.style.transform = 'translateX(-' + (i * 100) + '%)';
|
|
dots.forEach(function(d, j) { d.classList.toggle('active', j === i); });
|
|
caption.textContent = captions[i];
|
|
}
|
|
dots.forEach(function(d) {
|
|
d.addEventListener('click', function() { go(+d.dataset.index); });
|
|
});
|
|
setInterval(function() { go((current + 1) % count); }, 8000);
|
|
})();
|