GSAP滑块,在调整大小时销毁时间轴并重新初始化

时间:2017-01-11 21:59:52

标签: greensock gsap timelinelite

http://codepen.io/TPDBrendan/pen/xgwWwM

我正在尝试设置一个完整的页面剪辑样式滑块以处理调整大小,但我似乎在这一点上进行了讨论,尽管从论坛上尝试了一些关于此主题的建议。

我已经完成了基本效果 - 屏幕垂直分成两半,每一面都有一个向中心擦拭的时间线,露出下方的滑道,同时向中心滑动。右侧有意延迟。如果你加载了codepen并且没有调整大小,你会看到我的意思。

窗口大小调整让我变成了一个曲线球。我设置了去抖动函数来杀死2个当前时间轴,然后使用新调整大小的视口尺寸再次重建它们。它正在获得新的窗口尺寸,并成功设置了这些规格的新时间轴,但是多次调整大小表明它不能杀死旧的时间轴,只是在每个视口大小创建多个副本。

我希望能够在销毁之前保存当前时间轴的进度,然后将新的,已调整大小的时间轴初始化为此进度点,这样对于用户来说,它看起来就像是一个在调整大小时稍微暂停的动画。如果动画完成后,窗口调整大小将无法初始化另一个时间轴,因此它可以停留在最终幻灯片上。但是,就目前而言,只是弄清楚如何解决当前重复的时间表问题会很棒!

这些是我在调整大小时使用的函数,但kill似乎没有做任何事情。

function resizeLead(){
   prog1 = tl.progress(),
   prog2 = tl2.progress();
   tl.seek(0).kill();
   tl2.seek(0).kill();
}

function resizeTrail(){
  windowSize[0] = $(window).width();
  windowSize[1] = $(window).height();
  buildTL();
}

0 个答案:

没有答案