.addCallback()

优质
小牛编辑
126浏览
2023-12-01

.addCallback( callback:Function, position:*, params:Array, scope:* ) : TimelineMax
在特定位置插入回调函数。
.addCallback()适用于TimelineMax

.addCallback()的参数

参数类型必填说明
callbackFunction要执行的函数
position*插入回调函数的位置。秒或帧或标签,默认为"+=0" 。例如:

myTimeline.addCallback(myFunction, 3); //添加到3秒钟处
myTimeline.addCallback(myFunction, "myLabel"); //添加到"myLabel" 标签处
myTimeline.addCallback(myFunction, "+=2"); //添加到时间轴末尾后2秒处
paramsArray传递回调的参数数组。default = null
scope*回调调用的范围(基本上代表函数中"this"指的是什么),default = null

.addCallback() 示例


.box {
    width:50px;
    height:50px;
    border-radius:6px;
    margin-top:4px;
  }
.green{
    background-color:#6fb936;
  }
panel= document.getElementById("panel");
myFunction = function(){
  panel.innerHTML='函数触发了!';
}
var tm = new TimelineMax();
tm.to(".box", 5, {x:500})
  .addCallback(myFunction,"-=4");
console.log(tm.getChildren());

.addCallback()返回值

返回该时间轴以便链式调用。

.addCallback()的补充说明

回调函数可以被认为是一个持续时间为0的动画,因此如果你使用getChildren(),将会为每个回调函数返回一个动画(tween),你可以通过这些动画的vars.onComplete的内容并且duration 为零来识别出这些回调函数。

如果你想将回调追加到时间轴的末尾,那么使用call() 方法会更简洁 。此外,add() 方法也可以添加回调,但 add() 不接受参数。