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

lan*_*ons 6 javascript greensock

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

ahr*_*ren 10

根据你想要达到的目标,我可以建议两种方法.

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

myTimeline.pause(0, true); //Go back to the start (true is to suppress events)
myTimeline.remove();
Run Code Online (Sandbox Code Playgroud)

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

第二种方法,我加入,因为它可能是值得我们思考......
而不是完全重新开始充斥/时间线,为什么不.invalidate()(物品留在原地,只是时间轴本身被清除),然后使用渐变方法.to(),而不是.from(),因为当所有内容从之前的位置移动到新的位置而不是完全重新启动时,您将获得更好的用户体验.

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

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