Привет!
Только-только начал вникать в JS. Вот пробую сделать слайдер картинок. Столкнулся с интересной проблемой (и уже не первый раз). Функция сама выполняется, даже если к ней нет обращения. Почему так происходит? Помогите пожалуйста понять.
В данном случае интервал обнуляется даже без нажатия на кнопку, хотя по всей логике (вероятно неправильной), только клик по кнопке должен вызвать запуск функции.
Пробовал выносить обнуление интервала в отдельную функцию и включать её в теле основной функции - результат тот же.
Пример кода:
var MySlider = document.querySelectorAll('#slides .slide');
var currentPicture = 2;
var IntervalForChange = setInterval(nextSlide,3500);
function nextSlide() {
goToSlide(currentPicture+1);
clearInterval(IntervalForChange); // Вот этот интервал срабатывает сам и слайдер просто стоит на месте.
}
function backSlide() {
goToSlide(currentPicture-1);
}
function goToSlide(n) {
MySlider[currentPicture].className = 'slide';
currentPicture = (n+MySlider.length)%MySlider.length;
MySlider[currentPicture].className = 'slide showing';
}
Подобные проблемы наблюдаю не первый раз. Подскажите, что почитать, где поискать? Спасибо.