39 lines
1.1 KiB
JavaScript
Raw Normal View History

2024-08-18 21:12:02 -04:00
(function (Drupal, once) {
Drupal.behaviors.pingPongSlider = {
attach: function (context, settings) {
let sliders = once('pingPongSlider', '.slider', context);
sliders.forEach((slider) => {
// get the slides
let slides = slider.querySelectorAll('.slide');
slides[0].classList.add("active");
if (slides.length <= 1) {
return;
}
changeSlide(slider);
});
function changeSlide(sliderDiv, loop = 1) {
setTimeout(() => {
let slideCount = sliderDiv.querySelectorAll('.slide').length;
let activeSlide = sliderDiv.querySelector('.slide.active');
let nextSlide = activeSlide.nextElementSibling;
if (loop == slideCount) {
nextSlide = sliderDiv.querySelectorAll('.slide')[0];
return;
// get the first slide
}
else {
loop++;
activeSlide.classList.toggle('active');
nextSlide.classList.toggle('active');
changeSlide(sliderDiv, loop);
}
}, 10000);
}
}
};
})(Drupal, once);