跳过主要内容

持续时间

持续时间(value:Number):[Number | self]

[覆盖] 获取时间轴的持续时间,或者作为设置器使用时调整时间轴的时间比例以适应指定的持续时间。

参数

  • : 数值

    (默认值 =NaN) - 如果省略参数,则返回当前值(getter);如果提供参数,则设置值(setter),并返回实例自身以方便链式调用。

返回值:[数字 | 自身实例]

省略参数将返回当前值(getter),而定义参数将设置值(setter)并返回实例本身以便于链式调用。

细节

获取时间轴的duration或者,如果用作设置器,则调整时间轴的timeScale以使其适应指定的持续时间。duration()与之相同totalDuration()除非时间轴实例具有非零的repeat在这种情况下,totalDuration包含repeatrepeatDelaysduration不包含。

例如,如果一个时间轴具有duration持续时间为 2 并且重复repeat次数(repeat)为 3totalDuration总持续时间(duration)将是 8(一次标准播放加上三次重复等于总共四次循环)。

由于时间轴的duration是由其内容决定的,因此使用此方法作为设置器将仅仅导致timeScale被调整以将当前内容适配到指定的duration,但duration的值本身将保持不变。

例如,如果时间轴中有总计20秒的补间动画,并且你执行了myTimeline.duration(10),则会返回timeScale将被更改为2。如果你在之后立即再次检查duration它仍然会返回20,因为从技术上讲,所有子补间动画/时间轴的总时长就是20秒,但在播放时速度会因为timeScale.

此方法同时具备 getter 和 setter 的功能。省略参数时返回当前值(getter),而传入参数时则设置值(setter)并返回实例自身以便于链式调用,例如:myAnimation.duration(2).play(1);

//gets current duration
var currentDuration = tl.duration();

//adjusts the timeScale of myAnimation so that it fits into exactly 10 seconds on its parent timeline
tl.duration(10);
无噪 Logo
无噪文档
中文文档 · 复刻官网
查看所有 ↗