動畫開始之前我需要分析我的元素,以確保一切都在正確的位置。jquery動畫「onstart」 - 理論
我現在有這個工作,但問題是,當你點擊「動畫」按鈕太快,然後事情不合適。我不能指望用戶耐心等待每一個動畫的完成。
我該怎麼辦?
動畫開始之前我需要分析我的元素,以確保一切都在正確的位置。jquery動畫「onstart」 - 理論
我現在有這個工作,但問題是,當你點擊「動畫」按鈕太快,然後事情不合適。我不能指望用戶耐心等待每一個動畫的完成。
我該怎麼辦?
禁用動畫啓動按鈕,啓用動畫完成回調。
在開始動畫之前,您應該調用.stop(true)
來中斷任何正在進行和排隊的動畫。然後像你現在這樣重置你的元素並開始新的動畫。
如果有幫助,.stop(true, true)
只會跳到動畫結尾,而不是將元素留在開始/停止位置之間。
使用stop(true, true)
清除隊列並跳轉到結尾。
這將使元素達到之前運行的動畫的最終狀態。
這裏
第一屬性是清除隊列
第二個屬性是跳轉到結束。
.animation()
有一個無證start
選項,用它來使你的分析
$('.box').animate({left:100},{
duration:500,
start:function(){
console.log('start');
},
complete:function(){
console.log('end');
}
});
我已經相當有'stop'熟悉,那是不是一個可行的解決方案。你的解決方案並不是我想要的,但它可以讓我躲開「bug」。 – Jacksonkr 2012-08-02 18:36:08