- 非循环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,但并没有重新播放
2018-04-12 - 微信小程序 GIF通过image展示,只渲染一次?
我有个页面,有弹出框,弹出框上面放了倒计时GIF(倒计时到0自动停止,属性不是无限播放的GIF)。 然后第一次打开弹出框倒计时GIF正常播放,隐藏之后再打开。GIF还是上次播放完的状态,请问如何让GIF重新播放一次? 不用网络图片,只用本地路径图片,后面加时间戳安卓机器不展示pass. 1,能否通过动态增加、删除image组件来实现? 2,本地放2张gif图片,计数从0开始,每次点击计数%2==0来切换GIF图片路径,但是只能播放2次 3,请问有什么好的方式来实现GIF图片重新渲染播放呢?
2021-09-10