Я пытаюсь временно приостановить setInterval
при нажатии кнопки «Далее». В настоящее время он останавливает текущий setinterval, но не запускает его снова через 10 секунд.
Попытка приостановить setinterval в течение 10 секунд при нажатии кнопки
У меня есть простой ротатор изображений, который меняет изображение за 4 секунды. Когда нажата кнопка «Далее», я хочу, чтобы она приостановила интервал на 10 секунд, прежде чем снова начать 4-секундное вращение.
Heres код до сих пор (упрощена):
var ic = $('#imageContainer');
var numItems = $('.image').size();
var position = 0;
ic.css('left', '0px');
var inter;
function rotate() {
inter = setInterval(function() {
if (position == (numItems - 1)) {
console.log(position);
$('.image').first().insertAfter($('.image').last());
ic.css('left', '+=400px');
position--;
}
ic.animate({
left: "-=400px"
});
position += 1;
}, 4000);
}
rotate();
$('#next').click(function() {
clearInterval(inter);
nextInter = setInterval(function() {
rotate();
}, 10000);
clearInterval(nextInter);
});
Просто из любопытства, почему вы смешиваете ** анимацию ** и ** вставляете **? –
Вопросы, подобные этому, являются хорошим примером того, почему self-firing 'setTimeout' обычно лучше, чем' setInterval'. – Spudley