问题模块 | 框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
API和组件 | 小程序 | Bug | createAnimation | 客户端 | 6.7.3 | 2.3.1 |
- 当前 Bug 的表现(可附上截图)
用createAnimation创建动画,bindtransitionend去接收动画完成的回调。step动画是2个,bindtransitionend却被调用了三次。
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
doAnimation: function() {
this.opacityCount = 0;
var anim = wx.createAnimation({
});
anim.translate(0, 0).scale(1, 1).opacity(0).step({duration:1000, timingFunction:"linear"});
anim.translate(0, 0).scale(1, 1).opacity(1).step({ duration: 1000, timingFunction: "linear" });
this.setData({myanimation: anim.export()});
},
onAnimationEnd: function() {
//只加入了两个step动画,为何这个函数会被调用3次!!!
this.opacityCount++;
console.log("opacityCount:" + this.opacityCount);
},
网友回复
卢霄霄:
好奇怪。。translate算了一次,opacity算了一次。。。