小程序开放平台

文档中心
基础
界面
交互
下拉刷新
动画
Animation
createAnimation
字体
网络
数据缓存
媒体
位置
开放接口
设备
XHSML
性能
文件
数据分析
画布

xhs.createAnimation

开发
>
JS API
>
界面
>
动画
>
createAnimation
>
更新时间:2025-04-10 15:43:09

以Promise风格调用: 支持

创建一个动画实例 animation。调用实例的方法来描述动画。最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性。

参数

Object object

属性
类型
默认值
必填
说明
durationnumber400动画持续时间,单位 ms
timingFunctionstringlinear动画的效果
delaynumber0动画延迟时间,单位 ms
transformOriginstring50% 50% 0

object.timingFunction 的合法值

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

实例代码

// 创建动画实例
const animation = xhs.createAnimation({
  duration: 500, // 动画持续时间 500ms
  timingFunction: 'ease-in-out', // 动画效果
  delay: 100, // 动画延迟时间 100ms
  transformOrigin: '50% 50% 0' // 动画的变换原点
});

// 定义动画步骤
animation
  .scale(1.5) // 放大 1.5 倍
  .rotate(45) // 旋转 45 度
  .translate(50, 50) // 平移 (50px, 50px)
  .step(); // 完成当前动画步骤

// 导出动画数据并传递给组件
this.setData({
  animationData: animation.export()
});