2012-12-03 16 views
0

我創建了一個循環補間使用Greensock javascript我得到它使用函數循環,也許這不是循環的最佳方式,如果你知道更好的方式請諮詢,但基本上當我嘗試使用此方法殺死補間,它不起作用。greensock TweenMax javascript - kill循環補間

我的代碼:

var dvdTween; 
function playDVD() 
{ 
dvdTween = TweenMax.to($("#bigDVD"), 4, {css:{rotation:+1440, transformOrigin:"150px 150px"},ease:Expo.easeNone, delay:7, onComplete:playDVD}); 
} 

///後來在一個函數我叫

dvdTween.kill(); /// but this does nothing. 

再次,有可能是一個更好的辦法來循環補間,這可能是我的問題,但截至目前,這個補間繼續在我「殺死」它後調用函數。

感謝您的建議和幫助。

回答

6

您的代碼應該確實有效 - 我很想看到一組示例文件無法正常工作的示例。我想知道你是否遇到了範圍問題或者其他什麼問題 - 你確定「dvdTween」在你調用它的上下文中引用了補間嗎?嘗試添加onCompleteScope:這到你的補間。

其他

兩個小技巧:

1)你可以循環一個TweenMax無限設置重複:-1,如:

TweenMax.to($("#bigDVD"), 4, {css:{rotation:1440}, repeat:-1}); 

2)你可以殺死使用TweenMax特定對象的所有補間.killTweensOf()像:

TweenMax.killTweensOf($("#bigDVD")); 
+0

嗨,傑克!哈哈:)非常感謝真棒迴應。我會盡量簡短。我的代碼工作,但它仍然不斷調用onComplete,即使我殺死了補間。我試過你的方法,它的工作原理,但我不能讓補間延遲。此外,當功能不斷調用它調用bigDVD,但這是一個加載的div。如果他們去了一個新的頁面的div不在那裏,它會導致所有的JavaScript停止工作。這就是爲什麼我試圖殺死補間,但onComplete一直在繼續,因此再次重新啓動補間。你想我發佈我的代碼嗎?這是漫長而雜亂的:(但工作:) –

+0

是的,我建議創建一個單獨的,孤立的(簡化)示例文件,因爲往往會有助於識別問題。隨時在http://forums.greensock.com的GreenSock論壇上發佈您的文件。 – Jack