Итак, первое, что я вижу, это то, что вы пытаетесь использовать одни и те же глобальные переменные для обоих слайд-шоу.Происходит то, что, когда оба этих вызова в setInterval()
выполняются, они обращаются к одним и тем же переменным, что приведет к тому, что изображения будут отображаться не по порядку, проблемы синхронизации и другие подобные вещи.
Я бы порекомендовал попробовать разделить переменные так, чтобы nextSlide()
и nextSlideTwo()
обрабатывали и обновляли разные вещи по мере их выполнения.Например:
var slides = document.querySelectorAll('#slides .slide');
var currentSlide = 0;
var slideInterval = setInterval(nextSlide,3000);
function nextSlide() {
slides[currentSlide].className = 'slide';
currentSlide = (currentSlide+1)%slides.length;
slides[currentSlide].className = 'slide showing';
}
var slides2 = document.querySelectorAll('#slides2 .slidetwo');
var currentSlide2 = 0;
var slideInterval2 = setInterval(nextSlideTwo,1000);
function nextSlideTwo() {
slides2[currentSlide2].className = 'slidetwo';
currentSlide2 = (currentSlide2+1)%slides2.length;
slides2[currentSlide2].className = 'slidetwo showing';
}
Вскоре добавим это в скрипку, чтобы посмотреть, как оно работает и нужны ли какие-либо дополнительные настройки.