Javascript jquerysetinterval&;设置超时

Javascript jquerysetinterval&;设置超时,javascript,jquery,settimeout,setinterval,Javascript,Jquery,Settimeout,Setinterval,我的jQuery代码有点问题。 我基本上有一个计时器,它循环通过一组图像,这是一个设定的时间间隔 当我单击右或左控制器时,它会停止间隔并根据用户的单击而不是自动淡出图像 $('a.right').click(function () { clearInterval(myInterval); setTimeout(function () { slideshow(); }, 9000); if (count < max - 1) { $('div.fe

我的jQuery代码有点问题。 我基本上有一个计时器,它循环通过一组图像,这是一个设定的时间间隔

当我单击右或左控制器时,它会停止间隔并根据用户的单击而不是自动淡出图像

$('a.right').click(function () {

    clearInterval(myInterval);
    setTimeout(function () { slideshow(); }, 9000);

    if (count < max - 1) {
        $('div.feature-image').eq(count).fadeOut('1000', function () {

            count++;
            $('div.feature-image').eq(count).fadeIn('1000');
            info++;
            $('div.img-info').html(info + ' of ' + max + ' | ');


        })

    }
$('a.right')。单击(函数(){
clearInterval(myInterval);
setTimeout(函数(){slideshow();},9000);
如果(计数<最大值-1){
$('div.feature-image').eq(count).fadeOut('1000',函数(){
计数++;
$('div.feature-image').eq(count).fadeIn('1000');
信息++;
$('div.img-info').html(info+'of'+max+'|');
})
}
我使用了setTimeout等待4秒,然后继续循环循环。
虽然我不认为这是最优雅的方法,因为Jquery不知道如何停止if语句。有什么方法可以在setTimeout上阻止if语句继续它的功能吗?

我不确定我是否完全理解这个问题,但是像这样的事情呢

setTimeout(function () {
  setTimeoutTriggered = true;
  slideshow();
}, 9000);

if ( (count < max - 1) && !setTimeoutTriggered ) {
  ...
}
setTimeout(函数(){
setTimeoutTriggered=true;
幻灯片();
}, 9000);
如果((计数<最大值-1)和&!setTimeoutTriggered){
...
}
当然,您可以给setTimeoutTriggered一个更具语义的名称。 最好避免使用全局变量:)

无论如何,我发现这个jQuery插件非常适合管理超时和间隔!

setInterval代码是什么样子的?Jquery不知道停止if语句是什么意思请阅读以下内容: