2011-06-16 52 views
0

當您對動畫有緩動時,動畫會遵循緩動的等式。這script描述我的意思是非常好的。更改jQuery緩動行爲

讓我們假設我確實選擇了緩動,任何緩動和動畫時間,例如1000毫秒。動畫將完全遵循緩動方程式。如果我將時間分割爲500毫秒,則動畫期間將會分割,但它將完成相同的緩動方程。

我想要做的不是分割時間,而是分解等式。這就是動畫完成,但它不遵循完整的等式,但只有一半。

這有點複雜,我知道,我不知道是否有解決方案。

回答

2

我會看看Step Function()。根據你的動畫集合/對象,這可能是你的問題的解決方案。另一篇好文章是http://www.bennadel.com/blog/1856-Using-jQuery-s-Animate-Step-Callback-Function-To-Create-Custom-Animations.htm。希望幫助:

步驟函數的第二個版本 .animate的()提供了一個循序漸進的選擇 - 這是在 動畫的每一步發射了 回調函數。此功能對於啓用自定義 動畫類型或在動畫發生時更改其動畫類型非常有用。它 接受兩個參數(now和fx), ,並且這被設置爲被動畫的DOM元素 。

•現在:所述 屬性的數值在每一步 •FX被動畫:到jQuery.fx 原型對象,其中包含一個 許多性能如爲ELEM 動畫元素的引用,開始和結束 分別爲 動畫屬性的第一個和最後一個值,以及 屬性爲動畫。 請注意,對於每個動畫元素上的每個動畫屬性,階躍函數被稱爲 。例如,給定 兩個列表項,階梯函數 火災四次在 動畫的每個步驟:

$(「禮」)動畫({不透明度:0.5,
高度:'50% '},{{step: function(now,fx){ var data = fx.elem.id +''+ fx.prop +':'+ now; $('body')。append(''+ data +'');}});