小程序开放平台

文档中心
基础
路由
跳转
转发
界面
交互
TabBar
导航栏
下拉刷新
动画
createAnimation
Animation
菜单
字体
网络
支付
数据缓存
媒体
位置
开放接口
设备
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()
});