.from()
优质
小牛编辑
126浏览
2023-12-01
.from( target:Object, duration:Number, vars:Object, position:* ) : *
添加一个TweenLite.from()
动画到时间轴,相当于add(TweenLite.from(...))
,以下两行产生相同的结果:
myTimeline.add( TweenLite.from(element, 1, {left:100, opacity:0.5}) );
myTimeline.from(element, 1, {left:100, opacity:0.5});
你可以使用链式调用快速构建序列:
//创建一个时间轴
var tl = new TimelineLite({onComplete:myFunction});
//以下是链式调用,为了方便观看我们把他们换行了
tl.from(element, 1, {left:-100}) //添加一个动画
.to(element, 1, {top:50}, "-=0.25") //在时间轴末端前0.25秒(即时间轴0.75秒)处添加动画
.set(element, {opacity:0}) //设置动画元素的透明度
.call(otherFunction) //执行函数otherFunction()
.staggerTo([e1, e2, e3], 1.5, {rotation:45}, 0.25); //最后旋转e1, e2, e3,他们的起始间隔是0.25秒
使用position参数控制插入点。
tl.from(element, 1, {left:100}); //添加至时间轴末尾
tl.from(element, 1, {left:100}, 2); //添加至2秒处(绝对位置)
tl.from(element, 1, {left:100}, "+=2"); //添加至时间轴末尾后2秒处(相对位置)
tl.from(element, 1, {left:100}, "myLabel"); //添加至标记处
tl.from(element, 1, {left:100}, "myLabel+=2"); //添加至标记后2秒处
.from()适用于TimelineMaxTimelineLite
.from()的参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
target | Object | 是 | 需要动画的对象 |
duration | Number | 是 | 动画持续的秒数(或帧) |
vars | Object | 是 | 动画参数(CSS属性、延迟、重复次数等),例如myTimeline.from(element, 1, {left:100, top:200, onComplete:myFunction}); |
position | * | 否 | 插入动画的位置。秒/帧或标签的绝对和相对位置,默认为"+=0" 。 |
.from() 示例
body {
background: #f8f8f8;
font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
font-size: 14px;
color: #000;
margin: 0 10px;
padding: 0;
}
.box {
width:50px;
height:50px;
border-radius:6px;
margin-top:4px;
}
.green{
background-color:#6fb936;
}
var tl = new TimelineMax();
tl.from(".box", 2, {x:500});
.from()返回值
返回该时间轴以便链式调用。
.from()的补充说明
在动画的from()方法中immediateRender
(立即渲染)一般默认为true,你可以在vars中设置immediateRender:false
。