微信小程序动画(Animation)的实现及执行步骤

前两步是定义一个动画并设置都要干什么,然后把这个设置好的“规则”扔给界面上的某个元素,让它按照这个规则执行。
当然如果有多个元素的animation="{{ani}}",也都会执行这个动画规则。

制作一个动画点击把向下的箭头变为向上的箭头
点击前

点击后

代码如下:
index.wxml

<view  bindtap='selectToggle'>
  <view >商品</view>
    <image src='../img/index_next.png'  animation="{{animationData}}"></image>
  </view>
</view>
image.png

相关参数及方法

简单介绍一下例子中的几个参数和方法(其他的详见官方文档)
duration: 动画持续多少毫秒
timingFunction: “运动”的方式,例子中的 'ease'代表动画以低速开始,然后加快,在结束前变慢
delay: 多久后动画开始运行
step():一组动画完成,比如想让HelloWorld向右上方移动并变透明后,再次向左移动50可以先写animation.opacity(0.2).translate(100, -100).step()在继续写 animation.translateX( -50).step(), 作用就是向右上方移动和变透明是同时进行, 这两种变化完成之后才会进行向左运行的一步。

index.js

    var nowShow = this.data.selectShow; //获取当前箭头向上还是向下
    var animation = wx.createAnimation({
      timingFunction: "ease"  //动画效果
    })
    this.animation = animation;
    if (nowShow) { //为true箭头是向下,旋转到0度
      animation.rotate(0).step();
      this.setData({
        //导出动画队列。export 方法每次调用后会清掉之前的动画操作。
        animationData: animation.export() 
      })
    } else {
      animation.rotate(180).step(); //为false箭头向上,旋转180度
      this.setData({
        animationData: animation.export()
      })
    }
    this.setData({
      selectShow: !nowShow //每次点击切换箭头是向上还是向下
    })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容