我正在使用动画 GIF 创建动画幻灯片。我正在从一个动画交叉淡入淡出到下一个动画。问题是:我发现确保 GIF 从第一帧开始动画的唯一方法是在每次显示时重新加载它。每个 GIF 大约 200KB,这对于连续幻灯片放映来说带宽太大了。
这是我当前的代码。img
并且nextimg
是每个都<div>
包含一个的标签<img>
。nextimg_img
是与<img>
要显示的下一个图像对应的标签。
var tmp = nextimg_img.attr('src');
nextimg_img.attr('src', '');
setTimeout(function() { nextimg_img.attr('src', tmp); }, 0);
img.fadeOut('slow');
nextimg.fadeIn('slow');
这个想法是它将src
下一个图像的属性设置为''
,然后将其设置回要显示的 GIF 的源。
这很有效——它从头开始重新启动动画——但 GIF 似乎每次显示时都会重新下载。
编辑:这是一个循环幻灯片,我试图避免在第二次/第三次/后续时间显示时从网络重新加载 GIF。