小程序动画创建及动画结束的监听事件

小程序动画创建

绑定动画数据


    <view class="img-box" animation='{{animationData}}' bindtransitionend='animationend' bindtap='move'>
      <image src="{{AppImg.total_bg}}"></image>
    </view>

设置动画

data(){
    animationData: ''
}

move(){
        //创建动画
        var animation = wx.createAnimation({
          duration: 400,
        })
        
        //描述动画步骤
        animation.top(-500).scale(0.8).step()
        
        //导出动画数据传递给组件的animation属性,否则动画不会执行
        this.setData({
          animationData:animation.export()
        })

}

监听动画事件(开始,结束)

动画执行过程中使用 bindtransitionend bindanimationstart bindanimationiteration bindanimationend 来监听动画事件

bindtransitionend:监听CSS 渐变结束或 wx.createAnimation 结束一个阶段

注意:bindtransitionend监听的是wx.createAnimation 结束一个阶段而不是整个动画的结束(也就是一个step()结束)

bindanimationstart:监听CSS 动画开始

bindanimationiteration:CSS 动画结束一个阶段

bindanimationend:CSS 动画结束

注意:bindanimationstart bindanimationiteration bindanimationend无法监听到wx.createAnimation创建的动画

注:这几个事件都不是冒泡事件,需要绑定在真正发生了动画的节点上才会生效。

例:

//监听动画的事件需要和绑定动画的节点在一起
<view class="img-box" animation='{{animationData}}' bindtransitionend='animationend' >
      <image src="{{AppImg.total_bg}}"></image>
    </view>

js部分

animationend(){
    console.log('动画结束了')
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一:理解视图层 类似于“视图引擎模板”(jsp,freemaker,velocity,thymeleaf等) 框...
    Reg8888阅读 1,763评论 1 0
  • 创建小程序 新建项目选择小程序项目,选择代码存放的硬盘路径,填入刚刚申请到的小程序的 AppID,给你的项目起一个...
    Hachiman阅读 1,286评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,530评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,298评论 0 1
  • 在AngularJS应用中创建动画,有三种途径: 使用CSS3动画 使用JavaScript动画 使用CSS3过渡...
    oWSQo阅读 1,587评论 0 3

友情链接更多精彩内容