如何级联启动多个GIF?

时间:2014-07-03 13:49:40

标签: javascript jquery html gif

我有一个带有动画火焰的蜡烛的gif。我的网页将连续显示一些这些GIF。如果所有的GIF在页面加载后没有立即启动会更加真实(否则我会得到一行“同步”蜡烛)。

我可以使用不同的火焰动画创建多个GIF,然后随机显示哪些会显示,但这会占用额外的带宽,并会增加额外的复杂程度。

有没有办法让级联启动GIF?即,在一段随机时间后开始每一个,以便它们不同步并且看起来更逼真?

也许使用jquery?还是简单的javascript?

非常感谢

1 个答案:

答案 0 :(得分:2)

你做不到。 如果您将相同的图像放在多个位置,它将始终看起来一样。 您可以编辑图像并更改gif中帧的顺序,保存并重复几次,然后加载GIF,但这仅在图像已经在浏览器上加载(缓存)时才有效。 如果这是您第一次加载页面,则可能恰好在从加载图像的第一帧开始另一个图像时正好加载图像,因此它看起来好像是同步的。

您可以使用setTimeout加载图片,但这会在用户首次进入您的网页时遇到与上述问题相同的问题。您可以延迟加载文件的请求,但是您无法控制文件的下载速度,因此无法控制第一帧何时开始播放。

如果我是你,我会尝试创建一个不同图像的大精灵,每个精灵从不同的帧开始动画。将只有一个请求,所有动画将一起播放,确保帧永远不会同步。 在网站上显示图像时,请确保仅为每个图像正确显示所需的部分。这会让你随机燃烧火焰的效果。