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, время: 00:37. |