有没有一种简单的方法来重置TimelineMax JavaScript对象?

时间:2013-01-30 16:35:01

标签: javascript greensock

我无法重新初始化TimelineMax序列。调整窗口大小时,我需要将所有补间恢复为默认样式,并根据新窗口大小重新初始化它们。有没有一种简单的方法可以有效地破坏时间轴并重新开始,而无需手动重置所有CSS属性?

1 个答案:

答案 0 :(得分:10)

根据您想要实现的目标,我可以建议两种方法。

第一个与你描述的完全一样:

myTimeline.pause(0, true); //Go back to the start (true is to suppress events)
myTimeline.remove();

这将一切都恢复到时间轴开始时的状态。您也可以通过调用.invalidate()来删除任何初始化属性。

第二种方法,我补充说因为它可能值得考虑...
不是完全重新启动补间/时间线,为什么不.invalidate()(项目保持原样,只清除时间轴本身)并使用补间方法.to()而不是.from(),就像你一样当一切从之前的位置移动到新的位置而不是完全重新启动时,将获得更好的用户体验。

此外,大多数用户不会调整窗口大小。因此,如果它成为主要的时间消费者,请考虑它是否值得。

API /文档:http://api.greensock.com/js/