对于cover-image 设置动画, 无论是直接写@keyframes还是使用API wx.createAnimation,只要使用了opacity并且设置数值不为1,则在IOS真机上该动画不会显示, 在安卓和模拟机上都是好的。
文档上cover-image是支持opacity的
使用API ——wx.createAnimation:
var loveAnimation = wx.createAnimation({
duration: 3000,
timingFunction: 'linear',
});
this.loveAnimation = loveAnimation;
this.loveAnimation.translate(0, -60).opacity(0.5).step({ duration: 1000 })
this.setData({
loveUpData: this.loveAnimation.export()
})
使用wxss直接定义keyframes:
.love-icon{
position: absolute;
z-index: 100;
bottom: 240rpx;
right: 90rpx;
width: 44rpx;
height: 42rpx;
}
.love-icon.right{
animation: love-right-up 1s linear 0s infinite;
}
.love-icon.left{
animation: love-left-up 1s linear 0.5s infinite;
}
@keyframes love-right-up{
0%{
transform: translate(25rpx, 0);
opacity: 1;
}
50%{
transform: translate(50rpx, -63rpx);
opacity: 1;
}
100%{
transform: translate(25rpx, -126rpx);
opacity: 0.5;
}
}
以上代码在安卓机和模拟器上都是可以正常运行的,但是在IOS真机上,只要加了opacity,动画就失效,直接不会出现改动画。
给个用例看下。点击态是默认用的,这块我们优化下
案例就是问题中贴上的代码, cover-image是直接不见了。
关于cover-image还有一个不显示的问题,还请看下我1月18发的
“cover-image与border-radius有冲突 ”
我这边同样遇到这个问题,cover-image opacity 直接图片不见了。并且不知道为什么 cover-image的长按灰色态无法关闭。