Animation

相关文档: 动画

动画对象

方法

Object Animation.export()

导出动画队列。export 方法每次调用后会清掉之前的动画操作。

Animation Animation.step(Object object)

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

Animation Animation.matrix()

同 transform-function matrix

Animation Animation.matrix3d()

同 transform-function matrix3d

Animation Animation.rotate(number angle)

从原点顺时针旋转一个角度

Animation Animation.rotate3d(number x, number y, number z, number angle)

从 固定 轴顺时针旋转一个角度

Animation Animation.rotateX(number angle)

从 X 轴顺时针旋转一个角度

Animation Animation.rotateY(number angle)

从 Y 轴顺时针旋转一个角度

Animation Animation.rotateZ(number angle)

从 Z 轴顺时针旋转一个角度

Animation Animation.scale(number sx, number sy)

缩放

Animation Animation.scale3d(number sx, number sy, number sz)

缩放

Animation Animation.scaleX(number scale)

缩放 X 轴

Animation Animation.scaleY(number scale)

缩放 Y 轴

Animation Animation.scaleZ(number scale)

缩放 Z 轴

Animation Animation.skew(number ax, number ay)

对 X、Y 轴坐标进行倾斜

Animation Animation.skewX(number angle)

对 X 轴坐标进行倾斜

Animation Animation.skewY(number angle)

对 Y 轴坐标进行倾斜

Animation Animation.translate(number tx, number ty)

平移变换

Animation Animation.translate3d(number tx, number ty, number tz)

对 xyz 坐标进行平移变换

Animation Animation.translateX(number translation)

对 X 轴平移

Animation Animation.translateY(number translation)

对 Y 轴平移

Animation Animation.translateZ(number translation)

对 Z 轴平移

Animation Animation.opacity(number value)

设置透明度

Animation Animation.backgroundColor(string value)

设置背景色

Animation Animation.width(number|string value)

设置宽度

Animation Animation.height(number|string value)

设置高度

Animation Animation.left(number|string value)

设置 left 值

Animation Animation.right(number|string value)

设置 right 值

Animation Animation.top(number|string value)

设置 top 值

Animation Animation.bottom(number|string value)

设置 bottom 值

示例代码

在开发者工具中预览效果

<view animation="{{animationData}}" style="background:red;height:100rpx;width:100rpx"></view>
Page({
  data: {
    animationData: {}
  },
  onShow: function(){
    var animation = wx.createAnimation({
      duration: 1000,
      timingFunction: 'ease',
    })

    this.animation = animation

    animation.scale(2,2).rotate(45).step()

    this.setData({
      animationData:animation.export()
    })

    setTimeout(function() {
      animation.translate(30).step()
      this.setData({
        animationData:animation.export()
      })
    }.bind(this), 1000)
  },
  rotateAndScale: function () {
    // 旋转同时放大
    this.animation.rotate(45).scale(2, 2).step()
    this.setData({
      animationData: this.animation.export()
    })
  },
  rotateThenScale: function () {
    // 先旋转后放大
    this.animation.rotate(45).step()
    this.animation.scale(2, 2).step()
    this.setData({
      animationData: this.animation.export()
    })
  },
  rotateAndScaleThenTranslate: function () {
    // 先旋转同时放大,然后平移
    this.animation.rotate(45).scale(2, 2).step()
    this.animation.translate(100, 100).step({ duration: 1000 })
    this.setData({
      animationData: this.animation.export()
    })
  }
})

Animationwx.createAnimation(Object object)

微信小程序插件:支持,需要微信小程序基础库版本不低于 1.9.6

微信 Windows 版:支持

微信 Mac 版:支持

微信 鸿蒙 OS 版:支持

相关文档: 动画

功能描述

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

参数

Object object

属性 类型 默认值 必填 说明
duration number 400 动画持续时间,单位 ms
timingFunction string ‘linear’ 动画的效果
合法值 说明
‘linear’ 动画从头到尾的速度是相同的
‘ease’ 动画以低速开始,然后加快,在结束前变慢
‘ease-in’ 动画以低速开始
‘ease-in-out’ 动画以低速开始和结束
‘ease-out’ 动画以低速结束
‘step-start’ 动画第一帧就跳至结束状态直到结束
‘step-end’ 动画一直保持开始状态,最后一帧跳到结束状态
delay number 0 动画延迟时间,单位 ms
transformOrigin string ‘50% 50% 0’

返回值

Animation

ScrollViewContext.scrollTo(Object object)

基础库 2.14.4 开始支持,低版本需做兼容处理。

微信小程序插件:支持

微信 Windows 版:支持

微信 Mac 版:支持

功能描述

滚动至指定位置

参数

Object object

属性 类型 默认值 必填 说明
top number 顶部距离
left number 左边界距离
velocity number 初始速度 (webview 仅在 iOS 下生效;skyline 在 3.14.3 后支持)
duration number 滚动动画时长 (webview 仅在 iOS 下生效;skyline 在 3.14.3 后支持)
animated boolean 是否启用滚动动画

ScrollViewContext.scrollIntoView(string selector, object ScrollIntoViewOptions)

基础库 2.14.4 开始支持,低版本需做兼容处理。

微信小程序插件:支持

微信 Windows 版:支持

微信 Mac 版:支持

功能描述

滚动至指定位置

参数

string selector

元素选择器

object ScrollIntoViewOptions

基础库 3.1.0 开始支持,低版本需做兼容处理。

配置项,仅 Skyine 模式支持

属性 类型 默认值 必填 说明
offset number 0 跳转到目标节点时的额外偏移
withinExtent boolean false 只跳转到 cacheExtent 以内的目标节点,性能更佳
alignment string “start” 指定目标节点在视口内的位置
animated boolean true 是否启用滚动动画