2012-08-02 30 views
0

動畫開始之前我需要分析我的元素,以確保一切都在正確的位置。jquery動畫「onstart」 - 理論

我現在有這個工作,但問題是,當你點擊「動畫」按鈕太快,然後事情不合適。我不能指望用戶耐心等待每一個動畫的完成。

我該怎麼辦?

回答

2

禁用動畫啓動按鈕,啓用動畫完成回調。

+1

我已經相當有'stop'熟悉,那是不是一個可行的解決方案。你的解決方案並不是我想要的,但它可以讓我躲開「bug」。 – Jacksonkr 2012-08-02 18:36:08

1

在開始動畫之前,您應該調用.stop(true)來中斷任何正在進行和排隊的動畫。然後像你現在這樣重置你的元素並開始新的動畫。

如果有幫助,.stop(true, true)只會跳到動畫結尾,而不是將元素留在開始/停止位置之間。

1

使用stop(true, true)清除隊列並跳轉到結尾。

這將使元素達到之前運行的動畫的最終狀態。

這裏

第一屬性是清除隊列

第二個屬性是跳轉到結束。

1

.animation()有一個無證start選項,用它來使你的分析

$('.box').animate({left:100},{ 
    duration:500, 
    start:function(){ 
     console.log('start'); 
    }, 
    complete:function(){ 
     console.log('end'); 
    } 
});