【发布时间】:2012-02-18 07:25:06
【问题描述】:
也许是一个愚蠢的问题,但无论如何。
示例:假设我有一个非循环动画 GIF,我有两个 img 元素。
<img src="" id="slot1" />
<img src="" id="slot2" />
所以我用一点javascript来改变slot1的来源。
function changE(x)
{var image=document.getElementById (x);
image.src="animated.gif";
}
someButtonGotClicked=changE('slot1');
效果很好。 Gif 从头到尾播放,但如果我将 slot2 的 src 更改为相同的 gif:
changE('slot2');
slot1 将它的 gif 重置回起点,以便与 slot2 开始它的 gif 同步。
现在我知道我可以复制 gif 并使用 2 个单独的文件,并且我知道精灵表,但我很好奇我是否可以使用 gif 的一个副本并在一个页面上多次使用它而不每次另一个 img 元素收到与其 src 相同的文件时,所有 gif 实例都会重新启动?
希望这不会令人困惑。谢谢。
【问题讨论】:
-
您在哪些浏览器上观察到这种行为?
-
我假设您也不想在添加新 gif 之前简单地删除第一个 gif?
-
您是否尝试通过
images-collection 访问img-element?function changE(x) {var image=document.images[x]; image.src="animated.gif"; } -
@maerics 据我所知所有这些
-
@Teemu 没有区别,但 Ingenu 的回答似乎有效(见下文)
标签: javascript gif