---
name: "Animation.step"
mode: "api"
versionRequirements:
  - { name: "基础库", version: "2.21.8" }
title: "Animation.step - 表示一组动画完成"
---

## Animation.step

> [VERSION] 基础库 >= 2.21.8

### 描述

表示一组动画完成。可以在一组动画中调用任意多个动画方法，一组动画中的所有动画会同时开始，一组动画完成后才会进行下一组动画

### 参数

`Params`

| 参数 | 类型 | 必填 | 描述 |
| --- | --- | --- | --- |
| `options` | `StepOption` | 否 | 动画步骤配置 |

### 返回值

类型: `Animation`

Animation 实例

### 引用对象

##### `interface` StepOption

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `duration` | `number` | 动画持续时间，单位 ms |
| `timingFunction` | `"linear" \| "ease" \| "ease-in" \| "ease-out" \| "ease-in-out" \| "step-start" \| "step-end"` | 动画的效果 |
| `delay` | `number` | 动画延迟时间，单位 ms |
| `transformOrigin` | `string` | 设置 transform-origin |


### 合法值

##### `options.timingFunction` 合法值

| 值 | 说明 |
| --- | --- |
| `"linear"` | 动画从头到尾的速度是相同的 |
| `"ease"` | 动画以低速开始，然后加快，在结束前变慢 |
| `"ease-in"` | 动画以低速开始 |
| `"ease-out"` | 动画以低速结束 |
| `"ease-in-out"` | 动画以低速开始和结束 |
| `"step-start"` | 动画第一帧就跳至结束状态直到结束 |
| `"step-end"` | 动画一直保持开始状态，最后一帧跳到结束状态 |


### 示例代码

#### 单步动画

```ts
Page({
  data: {
    animationData: {},
  },
  onReady() {
    const animation = ty.createAnimation({ duration: 500 });
    animation.rotate(45).scale(2, 2).step();
    this.setData({ animationData: animation.export() });
  },
});
```

#### 多步动画与自定义配置

```ts
Page({
  data: {
    animationData: {},
  },
  onReady() {
    const animation = ty.createAnimation({ duration: 500 });
    animation.translate(100, 0).step();
    animation.rotate(180).step({ duration: 1000, timingFunction: 'ease-in' });
    this.setData({ animationData: animation.export() });
  },
});
```
