非循环gif只能够播放一次,重载此gif时直接显示最后一帧(不会重新播放一遍)
- 当前 Bug 的表现(可附上截图)
非循环的gif图片只在第一次载入gif时能够播放,当想要实现【某个事件触发时gif就播放一次(过场动画或交互等)】时,会发现只有第一次触发能看到gif效果,通过n种方法重载gif都不能够让其自动播放
- 预期表现
当非循环的gif第二次被设置时,应该从头播放至结束
- 提供一个最简复现 Demo
< view style = 'width:750rpx;height:1334rpx;background-image:url({{gif}});background-repeat:no-repeat;background-size:100%' bindtap = 'reloadGif' ></ view > |
Page({ data: { gif: 'rainy.gif' //不循环播放的gif }, reloadGif: function (){ var that = this this .setData({gif: '' }) console.log( this .data.gif) //显示切换为空路径 setTimeout( function (){ //一秒后应该重新播放原gif that.setData({gif: 'rainy.gif' }) console.log(that.data.gif) //显示切换为原gif },1000) } }) |
如上,按照程序设定,点击gif,1s之后应该重新播放gif,但并没有重新播放