0

我正在嵌套时间线。

代码就像:

timeLine.to(obj1,1.2,{css:{display:"block"}})  

nestedTimeline1 = new TimelineMax({repeat:1});

// initially obj2 is with opacity :0

nestedTimeline1.append(TweenLite.to(obj2,1.4,{css:{opacity:1,left:187,bottom:108}}))
nestedTimeline1.append(TweenLite.to(obj2,.5,{css:{opacity:0}}),-.8)

timeLine.append(nestedTimeline1);

当我做:

timeLine.totalProgress(0);

我的动画将从第一个开始。但问题是 obj2 不透明度不会重置为 0。

我无法理解为什么会出现这个问题?

任何解决方案将不胜感激..

4

1 回答 1

4

让我们从第一行开始。

您无法设置动画display:block- 没有可设置动画的数值。你可以从动画opacity:0opacity:1就好了。

现在,让我们考虑下一个问题。
你正试图动画opacity超过11.4秒钟。
您的下一个补间动画将同一对象从任何时间设置为0超过0.5几秒,偏移量为-0.8几秒。

我不确定您是否在此处看到错误,但让我们将其分解为视觉表示。

-------------------------------------------------- <-- Tween 1
                           ---------------         <-- Tween 2

你看,Tween 2在 Tween 1之前完成,因为你在时间线中将它推回0.8几秒钟,它只运行0.5几秒钟。所以 Tween 1 现在有最后0.3几秒可以动画回opacity:1

另外作为旁注,您可以使用方便的方法而不是.append(TweenLite...
nestedTimeline1.to(...)做同样的事情。

于 2013-01-17T06:00:04.467 回答