0

我正在使用superscrollorama,需要在视差期间播放一次动画,然后再播放一次。我可以创建一个函数来播放动画,但似乎它只在视差完成时才起作用。任何想法或想法都会有所帮助。

        controller.addTween('.div', (new TimelineLite()).append([
              TweenMax.from( $('.div .hero'), 1, 
                {css:{left:'1500', top:'-200'}, ease:Quad.easeInOut}),
              TweenMax.fromTo($('.div .background'), 1, 
                {css:{left: -40}, immediateRender:true}, 
                {css:{left: -45}})
            ]),
          100 // scroll duration of tween
        );

        var oneTime = function(!firstime) {
            var firstime;
            TweenMax.from( $('.football'), .50, {
                css:{left:'1500', top:'-300'}, ease:Quad.easeInOut})
            ), 500, 500 ;
        }
4

1 回答 1

1

在我的脑海中,TweenMax 有一个 onUpdate 方法,它会在每次属性之一有效时触发,你甚至可以补间任何非标准属性,因此,你可以调用你的函数,检查一个值, 并在它解析为 true 时触发 oneTime 函数,并且永远不要再这样做..

它看起来像这样:

TweenMax.fromTo($('.div .background'), 1, 
            {css:{left: -40}, immediateRender:true}, 
            {css:{left: -45}, onUpdate:oneTime,onUpdateParams: $(this).css('left')})

它对你有帮助吗?

于 2013-04-30T15:23:03.577 回答