Есть слайдер с переключением слайда через определенный промежуток времени. Сделал так чтобы при клике на кнопку перелистывания слайда таймер, обнулялся и счет начинался с 0. Проблема в том, что при каждом нажатии на кнопку слайдер ускоряется. Вот код.
var sliderImages = document.querySelectorAll(".sales-slaider");
var arrowLeft = document.querySelector(".arrow-left");
var arrowRight = document.querySelector(".arrow-right");
var current = 0;
// Clear all images
function reset() {
for (var i = 0; i < sliderImages.length; i++) {
sliderImages[i].style.display = "none";
}
}
// Init slider
function initSlide() {
myTimer = setInterval(function () {
if (current === sliderImages.length - 1) {
current = -1;
}
slideRight();
}, 4000);
}
function startSlide() {
reset();
sliderImages[0].style.display = "block";
initSlide();
}
// Show prev
function slideLeft() {
reset();
sliderImages[current - 1].style.display = "block";
current--;
}
// Show next
function slideRight() {
reset();
sliderImages[current + 1].style.display = "block";
current++;
}
// Left arrow click
arrowLeft.addEventListener("click", function () {
if (current === 0) {
current = sliderImages.length;
}
slideLeft();
clearInterval(myTimer);
initSlide();
});
// Right arrow click
arrowRight.addEventListener("click", function () {
if (current === sliderImages.length - 1) {
current = -1;
}
slideRight();
initSlide();
});
startSlide();
Проблема решена.
arrowRight.addEventListener("click", function () {
if (current === sliderImages.length - 1) {
current = -1;
}
slideRight();
initSlide();
Пропустил celarInterval(myTimer)
между slideRight();
и initSlide();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создать переменную «resultArray» (массив)Создать переменные «first» = 1, «second» = 2, «senseOfLife» = 42
Есть переменная, содержащая в себе массив объектовПри клике на checkbox, объекты сортируются в зависимости от первой буквы в значении одного...