jQuery:触发后的超时()

时间:2011-05-18 17:30:31

标签: javascript jquery

我使用有机标签网格和图像旋转器。当用户点击其中一个缩略图时,图像旋转器停止自动前进。当用户单击选项卡时,将再次启动自动前进。但是,如果没有超时或暂停,当用户单击选项卡时,自动前进可能会同时发生变化。

jQuery代码:

current=-1;
$('.years li:first a', tab).trigger('click',[true]);
current=1;

当前用作标志。当它为-1时,自动前进功能将返回false。如何在将电流设置为1之前添加延迟?我想的是:

$('.years li:first a', tab).trigger('click',[true]).setTimeout(function(){current=1},1000);

但这显然不起作用。

1 个答案:

答案 0 :(得分:0)

setTimeout不是jQuery,因此不能与jQuery对象链接。如果你分离setTimeout你应该没事。

此外,您可能希望在用户设置当前之前再次停止旋转时清除该超时。所以你会想做这样的事情:

var timer;

...

timer = setTimeout(...);

...

// when the rotation is stopped, clear the timer in case it hasn't triggered yet
clearTimeout(timer);