非循环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,但并没有重新播放
