2012-01-12 111 views
0

我遇到了動畫元素的錯誤。 當你在一個組上的right-click它的名稱字段向下擴展 ,以便它與該行上的其他兩個組一起顯示。 然後動畫在幾秒鐘後將其置於setTimeout()觸發的默認狀態 。 但是,如果您開始在 行上隨機並集中地點擊組,而無需等待當前動畫完成,那麼中斷會變得越來越麻煩,並且執行得比給定的時間快得多!jQuery越野車setTimeout動畫

下面的代碼的關鍵部分:

var t = window.setTimeout(function() { 
    for (var i = highFrontier; i > lowFrontier - 1; i--) { 
     jQuery(groupBoxes[i]).animate({ 
     height: '76px' 
     }, 400, 'linear', function() {}); 
    } 
}, 3300); 

而這裏的整個應用程序:http://jsfiddle.net/TTGr7/20/

10倍對你的幫助,BR

回答

1

您可以向要動畫的對象添加一個類,並在動畫完成後將其刪除。然後,如果用戶在擁有該類的同時單擊該對象(並且正在忙於動畫),則該系統將簡單地忽略他的請求。

+0

10倍傑弗裏應該工作我的腦海裏真的在尋找更復雜的解決方案 – kidwon 2012-01-12 21:27:22

0

我懷疑你有複式事件堆砌。我沒有在你的代碼中看到它,但是你在處理區域中的元素上是否有點擊事件?

我已經進入的一個hapbit是將.stop()添加到事件註冊,以確保先前的事件/動畫在另一個開始之前停止。例如,

.stop().animate(....) 
+0

我試過這個沒有幫助它仍然加速 – kidwon 2012-01-12 21:10:09