Работа над слайдером, кнопки управления
var slide = document.getElementsByClassName('slide');
var next = document.getElementsByClassName('slide-next')[0];
var prev = document.getElementsByClassName('slide-prev')[0];
var slideIndex = 0;
var i = 0;
var slideRun = setInterval(
function() {
slide[(i++) % slide.length].classList.add('active');
slide[(i - 2 + slide.length) % slide.length].classList.remove('active');
}
, 5000);
var slideNext = function(event){
slide[(i++) % slide.length].classList.add('active');
slide[(i - 2 + slide.length) % slide.length].classList.remove('active');
}
var slidePrev = function(event){
slide[(i + 2 - slide.length) % slide.length].classList.remove('active');
}
next.addEventListener('click',slideNext);
prev.addEventListener('click',slidePrev);
next работает отлично, а вот с prev возникли проблемы.да, и ещё: можно ли стилизовать переход слайдера:скорость, плавность и т.д?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
var slideNext = function(event){
[...slide].forEach(s => s.classList.remove('active'));
slide[i].classList.add('active');
i = (i + 1) % slide.length;
}
var slidePrev = function(event){
[...slide].forEach(s => s.classList.remove('active'));
i = (i - 2 + slide.length) % slide.length;
slide[i].classList.add('active');
i = (i + 1) % slide.length;
}