返回介绍

.call()

发布于 2020-01-04 14:21:55 字数 2299 浏览 1026 评论 0 收藏 0

.call( callback:Function, params:Array, scope:*, position:* ) : *
在时间轴的末尾(或position位置)增加一个回调函数,作用类似于add( TweenLite.delayedCall(...) ) ,以下代码效果大致相同:

myTimeline.add( TweenLite.delayedCall(0, myFunction, ["param1", "param2"]) );
myTimeline.call(myFunction, ["param1", "param2"]);

call与onComplete的区别在于,onComplete会在时间轴全部完成后触发,而call会在设定时的时间轴末端触发。
例如你的时间轴长为1秒,那么call设置的函数会在1秒时触发。这时你增加了一个1秒的动画使时间轴变成了2秒,call函数还是在1秒时触发,而onComplete则会在2秒时触发。

使用position设置函数触发时间点:

tl.call(func, ["param1"]);  //添加到时间轴末端
tl.call(func, ["param1"], this, 2);  //添加到时间轴2秒处(绝对位置)
tl.call(func, ["param1"], this, "+=2");  //添加到时间轴后2秒处(相对位置)
tl.call(func, ["param1"], this, "myLabel");  //添加至标签"myLabel"处
tl.call(func, ["param1"], this, "myLabel+=2");  //添加至标签"myLabel"后2秒处

.call()适用于TimelineMaxTimelineLite

.call()的参数

参数类型必填说明
callbackFunction要执行的函数
paramsArray传递回调的参数数组。default = null
scope*回调调用的范围(基本上代表函数中"this"指的是什么),default = null
position*插入回调函数的位置。秒或帧或标签,默认为"+=0" 。例如:

.call() 示例


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

.call()返回值

.call()的补充说明

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文