非循环gif只能够播放一次,重载此gif时直接显示最后一帧(不会重新播放一遍)

发布于 6 年前作者 nayuan14922 次浏览最后编辑 6 年前来自 ask
  • 当前 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,但并没有重新播放

4 回复
guojing
guojing1 楼6 年前

楼主解决了吗  我也遇到这个问题了

fxu
fxu2 楼6 年前

现在有没有解决方案  微信修复了吗

fmo
fmo3 楼6 年前

我也遇到了这个问题,如果有解决方法,望分享一下

fanglong
fanglong4 楼5 年前

你们的这个问题怎么解决的啊