非循环gif只能够播放一次,重载此gif时直接显示最后一帧(不会重新播放一遍)
发布于 5 年前 作者 nayuan 14659 次浏览 来自 问答
  • 当前 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 回复

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

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

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

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

回到顶部