Javascript 如何向当前滑块代码添加超时?

Javascript 如何向当前滑块代码添加超时?,javascript,jquery,Javascript,Jquery,我正在做一个带有按钮的简单滑块,它工作正常,但我想在当前代码中添加TimeOut()函数,以允许幻灯片自动更改 我试着用jQuery来实现,但没有成功 $('.reviews-slider-button').click(function() { var i = $(this).index(); $('.reviews-slider-person').hide(); $('.reviews-slider-person-' + (i + 1)).show(); }); 我想

我正在做一个带有按钮的简单滑块,它工作正常,但我想在当前代码中添加
TimeOut()
函数,以允许幻灯片自动更改

我试着用jQuery来实现,但没有成功

$('.reviews-slider-button').click(function() {
    var i = $(this).index();
    $('.reviews-slider-person').hide();
    $('.reviews-slider-person-' + (i + 1)).show();
});
我想每10秒自动更改一次滑块,当我点击。查看滑块按钮时,它会重置计时器(为了避免这种情况,我点击更改滑块,计时器会自动更改为下一个)。
非常感谢您的建议。

您可以使用
setInterval
每10秒单击一次按钮:

var定时器=“”;//生成全局变量
函数ScrollAuto(){
temp=setInterval(函数(){
$('.nextButton')。单击();
}, 10000)
返回计时器;
}
要重置计时器,请在重置按钮内添加:

clearInterval(timer);

与Shree的回答类似,但要使其更清晰,但要使用timeout,而不是interval,您希望系统每10秒更改一次幻灯片,除非您单击,在这种情况下,您可以重置超时,转到下一张幻灯片,并设置下一个超时

大概是这样的:

var slideMaxDuration = 10000; // in ms
var slideTimer = void 0;

function nextSlide() {
    clearInterval(slideTimer);
    // ... go to next slide ...
}

function autoContinue() {
    nextSlide();
    setTimeout(autoContinue, slideMaxDuration);
}

$('.reviews-slider-button').click(autoContinue);
当你想要整个事情开始时,你还需要设置初始的自动继续