使用Javascript设置GIF循环计数和发布停止事件

使用Javascript设置GIF循环计数和发布停止事件,javascript,html,javascript-events,Javascript,Html,Javascript Events,是否可以使用javascript设置GIF图像的循环计数,然后在停止播放时发布事件 例如: //html code <img src="myImage.gif" id="img1"/> //Javascript code var image = document.getElementById('img1'); //Image must stop playing after 3 loops image.setLoopCount = 3; //html代码 //Javascript

是否可以使用javascript设置GIF图像的循环计数,然后在停止播放时发布事件

例如:

//html code
<img src="myImage.gif" id="img1"/>

//Javascript code
var image = document.getElementById('img1');

//Image must stop playing after 3 loops
image.setLoopCount = 3;
//html代码
//Javascript代码
var image=document.getElementById('img1');
//图像必须在3个循环后停止播放
image.setLoopCount=3;

以下是我的建议:

  • 从gif文件中提取帧(您可以使用for Instance->在线执行此操作)
  • 使用javascript更改图片,模拟动画(这样您可以跟踪您完成了多少个循环)
这里是一个JSFIDLE链接
我使用jQuery。我做了三个循环,最后抛出了一个回调函数。

我建议这样做:

  • 从gif文件中提取帧(您可以使用for Instance->在线执行此操作)
  • 使用javascript更改图片,模拟动画(这样您可以跟踪您完成了多少个循环)
这里是一个JSFIDLE链接
我使用jQuery。我做了三次循环,最后抛出了一个回调函数。

对于设计端解决方案,可以使用Photoshop将GIF图像设置为仅循环一定次数。然后只需使用
window.setTimeout(回调,毫秒)
触发自定义事件


您可以从用于显示动画每一帧的间隔计算超时。

对于设计端解决方案,您可以使用Photoshop将GIF图像设置为仅循环一定次数。然后只需使用
window.setTimeout(回调,毫秒)
触发自定义事件

您可以从用于显示动画每一帧的间隔计算超时。

答案是“否,不使用JavaScript和实际的动画GIF”。到目前为止,所有的答案都在帮助你找到替代方案,但你忘记了提供这个基本答案。答案是“不,不要使用JavaScript和实际的动画GIF”。到目前为止,所有的答案都在帮助你寻找替代方案,但却忘记了提供这个基本答案。