Javascript jquerysetinterval&;设置超时
我的jQuery代码有点问题。 我基本上有一个计时器,它循环通过一组图像,这是一个设定的时间间隔 当我单击右或左控制器时,它会停止间隔并根据用户的单击而不是自动淡出图像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
$('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语句是什么意思请阅读以下内容: