Подскажите, пожалуйста, что я делаю неправильно. Мне нужно сделать управляемый цикличный слайдер. То есть после последнего слайда должен появляться первый и наоборот. У меня же получается, что последний слайд исчезает и ничего больше после него не появляется. Ниже приведен код.
var images = document.getElementsByClassName("photos");
var next = document.getElementById("next");
var prev = document.getElementById("prev");
var i = 0;
next.addEventListener("click", moveRight);
function moveRight() {
images[i].style.display = "none";
images[++i].style.display = "block";
if(i > images.length)
i = 0;
}
prev.addEventListener("click", moveLeft);
function moveLeft() {
images[i].style.display = "none";
images[--i].style.display = "block";
if(i == 0)
i = images.length - 1;
}
Очень прошу помочь!
Попробуйте сделать вот так
var images = document.getElementsByClassName("photos");
var next = document.getElementById("next");
var prev = document.getElementById("prev");
var i = 0;
var length = images.length;
next.addEventListener("click", moveRight);
function moveRight() {
if(i == length-1){
images[0].style.display = "block";
images[i].style.display = "none";
i = 0;
} else{
images[i+1].style.display = "block";
images[i].style.display = "none";
i++;
}
}
prev.addEventListener("click", moveLeft);
function moveLeft() {
if(i == 0){
images[length-1].style.display = "block";
images[i].style.display = "none";
i = length-1;
} else{
images[i-1].style.display = "block";
images[i].style.display = "none";
i--;
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости