Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用一个通用缓解功能(GSAP)运行多个吐温_Javascript_Animation_Timeline_Gsap - Fatal编程技术网

Javascript 使用一个通用缓解功能(GSAP)运行多个吐温

Javascript 使用一个通用缓解功能(GSAP)运行多个吐温,javascript,animation,timeline,gsap,Javascript,Animation,Timeline,Gsap,我可以组合多个tween并使用一个ease功能运行它们吗?大概是这样的: var el = $('#some-element'); var tw1 = new TweenMax.to(el, 1, {left: 100}); var tw2 = new TweenMax.to(el, 1, {left: 200}); var tw3 = new TweenMax.to(el, 1, {left: 300}); var tl = new TimelineMax({ease:Power2.eas

我可以组合多个tween并使用一个ease功能运行它们吗?大概是这样的:

var el = $('#some-element');

var tw1 = new TweenMax.to(el, 1, {left: 100});
var tw2 = new TweenMax.to(el, 1, {left: 200});
var tw3 = new TweenMax.to(el, 1, {left: 300});

var tl = new TimelineMax({ease:Power2.easeOut})
    .add(tw1)
    .add(tw2)
    .add(tw3);
我已经为这个问题制作了沙盒示例:
那么,如何使移动框与普通的放松

UPD

新沙箱:

  • 我们需要使用一个通用的缓和功能从第一个示例移动盒子,如第二个示例所示,但不删除中间的tween。

    仅使用一个tween(最终目的地),如果需要通过点,则使用BezierPlugin添加它们

    )

    只使用一个tween(最终目的地),如果需要通过点,则使用BezierPlugin添加它们


    )

    一种方法是在时间线之间切换,如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .add(tw1)
    .add(tw2)
    .add(tw3);
    TweenLite.to(tl,tl.duration,{progress:1,ease:Power2.easeOut});
    
    还允许添加一个tween数组,然后将对齐作为字符串传递,如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .添加([tw1,tw2,tw3],“序列”);
    
    就这样,阵型中的两个孩子一个接一个地玩

    您还可以在时间轴的时间属性之间切换,如此代码笔中所示的Jamie Jefferson:

    看看add()方法,它有着惊人的用途

    罗德里戈

    编辑:我忘了在add()方法中添加position参数。此方法接受一个位置参数和一个对齐参数,由于这两个参数都是字符串,因此必须同时包含这两个参数

    代码如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .add([tw1,tw2,tw3],'+=0','sequence');
    

    对于+=0,我们告诉GSAP在时间线的末尾按顺序包含所有这些元素。

    一种方法是在时间线之间,如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .add(tw1)
    .add(tw2)
    .add(tw3);
    TweenLite.to(tl,tl.duration,{progress:1,ease:Power2.easeOut});
    
    还允许添加一个tween数组,然后将对齐作为字符串传递,如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .添加([tw1,tw2,tw3],“序列”);
    
    就这样,阵型中的两个孩子一个接一个地玩

    您还可以在时间轴的时间属性之间切换,如此代码笔中所示的Jamie Jefferson:

    看看add()方法,它有着惊人的用途

    罗德里戈

    编辑:我忘了在add()方法中添加position参数。此方法接受一个位置参数和一个对齐参数,由于这两个参数都是字符串,因此必须同时包含这两个参数

    代码如下所示:

    var el = $('#some-element');
    
    var tw1 = new TweenMax.to(el, 1, {left: 100});
    var tw2 = new TweenMax.to(el, 1, {left: 200});
    var tw3 = new TweenMax.to(el, 1, {left: 300});
    
    var tl = new TimelineMax({ease:Power2.easeOut})
        .add(tw1)
        .add(tw2)
        .add(tw3);
    
    var el=$(“#某些元素”);
    var tw1=新的TweenMax.to(el,1,{左:100});
    var tw2=新的TweenMax.to(el,1,{左:200});
    var tw3=新的TweenMax.to(el,1,{左:300});
    var tl=新的TimelineMax()
    .add([tw1,tw2,tw3],'+=0','sequence');
    

    对于+=0,我们告诉GSAP在时间线的末尾按顺序包含所有这些元素。

    我需要使用多个tween。假设我需要设置不同属性的动画,但是使用一个常见的ease函数。我需要将它们组合成一个tween,然后像假设的那样应用ease。我需要使用多个tween。假设我需要设置不同属性的动画,但是使用一个常见的ease函数。我需要把它们组合成一个tween,然后像假设的那样应用ease。对我来说,只有Jamie的Jefferson的解决方案有效。这支笔演示了一个只有1个tween的病例对照
    div#a
    与另一个有3个tween的
    div#B
    是同步的:@abernier啊,是的,你是对的。我忘了添加position参数,因为position和alignment是字符串,所以很难按代码区分它们。我更改了代码,现在应该可以正常工作了。对我来说,只有杰米的杰斐逊解决方案有效。这支笔演示了一个只有1个tween的病例对照
    div#a
    与另一个有3个tween的
    div#B
    是同步的:@abernier啊,是的,你是对的。我忘了添加position参数,因为position和alignment是字符串,所以很难按代码区分它们。我更改了代码,现在应该可以正常工作了。