收藏
回答

使用wx:for的多个view,绑定animation,怎么单独触发动画

问题模块
API和组件

使用wx:for的多个view,绑定animation,怎么单独触发动画。

现在的效果是单击其中一个view,所有view一起动,有没有怎么解决思路。

最后一次编辑于  2017-12-20  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

6 个回答

  • van
    van
    2018-04-16

    老哥说的对


    2018-04-16
    赞同
    回复
  • 马亚朋
    马亚朋
    2018-04-16

    <view animation="{{tabindex==index?'animate':''}}" bindtap="changeIndex" data-index="{{index}}"></view>

    </block>

    //应该把'animate':''  改为animate,因为 取得是对象,不是字符串

    var _this = this

    var index = event.currentTarget.dataset.index

    var animation1 = wx.createAnimation({

    duration: 1000,

    timingFunction: 'ease-in',

    })

    //缩放动画

    animation1.scale3d(0.001, 0.001, 0.001).step()

    this.setData({

    tabindex: index

    })

    this.setData({

    animationData: animation1.export()

    })




    2018-04-16
    赞同
    回复
  • van
    van
    2018-01-08

    非要用那个createanimation的话我觉得两种方法,第一种就是和上面那个一样不是有个index,你给他绑定个fun然后

    <block wx:for="{{array}}">

    <view animation="{{tabindex==index?'animate':''}}" bindtap="changeIndex" data-index="{{index}}"></view>

    </block>

    changeIndex这个fun里设置appdata tabindex==当前点击下标,然后同时调取createainmation   因为这个api生成动画会清除以前的动画,不用考虑是否会重复执行,第2种的话是差不多的东西,每个数组元素多个animation 和isStart,差不多一样的东西,不说了


    2018-01-08
    赞同
    回复
  • 恺恺
    恺恺
    2018-01-06

    如果非要用微信的animation,怎么玩呢

    2018-01-06
    赞同
    回复
  • cgc
    cgc
    2017-12-20

    好想法,我试试。

    2017-12-20
    赞同
    回复
  • van
    van
    2017-12-20

    <block wx:for="{{array}}">

    <view class="{{tabindex==index?'animate':''}}" bindtap="changeIndex" data-index="{{index}}"></view>

    </block>

    给一组绑定事件,点击之后改变appData的tabindex为当前的data-index就可以了相当于当前点击的添加animate

    2017-12-20
    赞同
    回复