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

发布于 6 年前作者 yujie20139 次浏览最后编辑 6 年前来自 ask

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

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

6 回复
fangxiulan
fangxiulan1 楼6 年前

老哥说的对

pingxia
pingxia2 楼6 年前

非要用那个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,差不多一样的东西,不说了

bdeng
bdeng3 楼6 年前

<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()

})



yuanyong
yuanyong4 楼6 年前

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

motao
motao5 楼6 年前

好想法,我试试。

hliang
hliang6 楼4 年前

<block wx:for=“{{array}}”>

<view class=“{{tabindex==index?‘animate’:‘’}}” bindtap=“changeIndex” data-index=“{{index}}”></view>

</block>

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