Files
hd-commerce/public/slider.js
T

17 lines
805 B
JavaScript

(function () {
var track = document.getElementById('hdcSlides');
if (!track) return;
var slides = track.children, n = slides.length, i = 0;
var dots = document.querySelectorAll('#hdcDots button');
function go(x) {
i = (x + n) % n;
track.style.transform = 'translateX(-' + (i * 100) + '%)';
dots.forEach(function (d, k) { d.classList.toggle('active', k === i); });
}
var prev = document.getElementById('hdcPrev'), next = document.getElementById('hdcNext');
if (prev) prev.addEventListener('click', function () { go(i - 1); });
if (next) next.addEventListener('click', function () { go(i + 1); });
dots.forEach(function (d) { d.addEventListener('click', function () { go(+d.getAttribute('data-idx')); }); });
if (n > 1) setInterval(function () { go(i + 1); }, 6000);
})();