Поместите setInterval
в функцию, а затем вызовите эту функцию с помощью setTimeout()
.
Разница между setInterval()
и setTimeout()
заключается в том, что setInterval()
вызывает вашу функцию несколько раз в каждом интервалев то время как setTimeout()
вызывает вашу функцию только один раз после указанной задержки.
В приведенном ниже коде я добавил функцию startCycle()
.Вызовите эту функцию, чтобы, ну, в общем, запустить цикл как сразу, так чтобы он начался автоматически, так и с тайм-аута, установленного в вашей существующей функции stopCycle()
.
var cycleTimer;
function startCycle() {
cycleTimer = setInterval(function () {
$scroll.trigger('next');
}, 450);
}
// start to automatically cycle slides
startCycle();
// set next/previous buttons as clearInterval triggers
var $stopTriggers = $('img.right').add('img.left'); // left right
// function to stop auto-cycle
function stopCycle() {
clearInterval(cycleTimer);
setTimeout(startCycle, 5000); // restart after 5 seconds
}