2011-05-18 65 views
0

我使用有機標籤和圖像旋轉器的網格。當用戶點擊其中一個縮略圖時,圖像旋轉器將停止自動前進。當用戶點擊一個標籤時,自動提前重新開始。但是,如果沒有超時或暫停,當用戶單擊選項卡時,自動提前可能會同時發生變化。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); 

但這顯然不起作用。

回答

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);