0

我使用Greensock javascript创建了一个循环补间,我让它使用一个函数循环,也许这不是最好的循环方式,如果你知道更好的方法请建议,但基本上当我尝试使用这种方法杀死补间时,它不起作用。

我的代码:

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. 

同样,循环补间可能有更好的方法,这可能是我的问题,但到目前为止,这个补间在我“杀死”它之后继续调用该函数。

感谢您的提示和帮助。

4

1 回答 1

6

您的代码确实应该可以工作 - 我希望看到一组示例文件显示它无法正常工作。我想知道您是否遇到了范围问题或其他问题-您确定“dvdTween”在您调用它的上下文中引用了补间吗?尝试将 onCompleteScope:this 添加到补间中。

另外两个提示:

1) 您可以通过设置 repeat:-1 来无限循环 TweenMax,例如:

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

2)您可以使用 TweenMax.killTweensOf() 杀死特定对象的所有补间,例如:

TweenMax.killTweensOf($("#bigDVD"));
于 2012-12-04T20:59:45.923 回答