File: D:/HostingSpaces/SBogers10/slenders.komma.pro/resources/js/site/components/uspImpressionsHandler.js
/* ==========================================================================
Usp Impressions handler
========================================================================== */
const UspImpressionsHandler = {
timeout: null,
init: function() {
const uspImpressionsTrays = document.querySelectorAll('.js-usp-impressions');
const uspImpressionsTraysLength = uspImpressionsTrays.length;
for(let i = 0; i < uspImpressionsTraysLength; i++) {
const uspImpressionsTray = uspImpressionsTrays[i];
const uspImpressionSlider = new UspImpressionSlider(uspImpressionsTray);
uspImpressionSlider.autoSlide();
}
},
};
class UspImpressionSlider {
constructor(slider) {
this.slider = slider;
this.slides = this.slider.querySelectorAll('.js-usp-impression');
this.currentSlide = 0;
this.slideInterval = 4000;
}
autoSlide() {
const self = this;
setTimeout(function () {
self.nextSlide();
self.autoSlide();
}, this.slideInterval);
}
nextSlide() {
this.currentSlide ++;
if(this.currentSlide >= this.slides.length) this.currentSlide = 0;
for(let i = 0; i < this.slides.length; i++) {
const slide = this.slides[i];
const slideId = slide.getAttribute('data-usp');
if( slideId == this.currentSlide ) {
slide.classList.add('is-active');
}
else{
slide.classList.remove('is-active');
}
}
}
}
UspImpressionsHandler.init();