setInterval. Временное изменение интервала.
Здравствуйте. Мне нужно, чтобы по клику на определенном элементе интервал изменялся с, например, 1000 на 10000. И после следующего срабатывания возвращался опять на 1000.
Вот до этого места я пока дошел (весь лишний код убрал), а дальше никак: var timeSlider = 2000; //Время автоматической смены слайда function StartSlider( firstPoint, secondPoint, largePath, largeAlt){ //Функция смены слайда ... } $(document).ready(function(){ $(".slider__navigation a").click(function(){ ... StartSlider( firstPoint, secondPoint, largePath, largeAlt); //Тут я вызываю прокрутку слайда return false; }); setInterval(function(){ StartSlider( firstPoint, secondPoint, largePath, largeAlt); }, timeSlider); }); Никак не могу понять, как при клике на ".slider__navigation a" я могу налету менять значение timeSlider. |
var timeSlider = 2000; //Время автоматической смены слайда // При клике по элементу myElement утанавливаем значение таймера в 10000 myElement.addEventListener('click', function () { timeSlider = 10000 }, false); function StartSlider( firstPoint, secondPoint, largePath, largeAlt){ //Функция смены слайда ... } $(document).ready(function(){ $(".slider__navigation a").click(function(){ ... StartSlider( firstPoint, secondPoint, largePath, largeAlt); //Тут я вызываю прокрутку слайда return false; }); setInterval(function(){ StartSlider( firstPoint, secondPoint, largePath, largeAlt); timeSlider = 2000; // после первого срабатывания таймера устанавливаем значение в 2000 }, timeSlider); }); |
Цитата:
var sliderItem = document.getElementById('slider-navigation'); sliderItem.addEventListener('click', function () { timeSlider = 10000 } После внесения все заработало, только время переключения таймера не изменяется по клику на элемент. |
Решил задачу по-другому.
Автопролистывание вынес в функцию (SliderSlide) за домреди. В домреди первым делом вызываю эту функцию. А при клике на элемент делаю следующее: $(".slider__navigation a").bind('click', function(){ clearInterval(autoSlide); //Останавливаем слайдер на 1 минуту setTimeout(SliderSlide, 60000); ... } |
Часовой пояс GMT +3, время: 08:00. |