javascript - 重新启动背景 SVG 动画

标签 javascript css animation svg svg-animate

我将 SVG 设置为元素的背景图像。第一次显示元素时,动画正确播放。

在随后的显示中(例如,如果通过 JavaScript 注入(inject)元素的副本,或者如果删除背景图像并使用 CSS/JavaScript 重新添加),动画不会从头开始。我认为这是预期的功能,因为图像不被认为已被浏览器重新加载 - 它使用已经动画化的内存版本。

这是一个演示(不是我的): http://www.luigifab.info/public/svg-smil/test.html

Firefox 有一些相关的浏览器错误报告和 Chrome ,但如上所述,我认为这是预期的功能。

有没有办法让我的 SVG 动画在显示图像时重置/重播?

理想情况下,我正在寻找仅使用 CSS 和 SVG 的解决方案 - 如果不可能,则寻找使用 JavaScript 的解决方案。

最佳答案

正如@netsurfer 所说,我通过使用对象 解决了这个问题。这是一个例子:

<object type="image/svg+xml" data="my.svg"></object>

每次我动态注入(inject) SVG object 时,动画都会从头开始。

关于javascript - 重新启动背景 SVG 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19177571/

相关文章:

iphone - 建立一个漂亮的进度条

javascript - 5 星

javascript - jquery中分割字符串

javascript - jQuery data-* 与类选择器 - 性能?

一页 wordpress 侧边栏的 CSS 特定规则

Javascript 动画问题

javascript - 使用 href 链接但不带 # 向元素添加属性

html - 右对齐单元格表格中的文本,但向右添加 'variable' 填充以从表格边框创建空间

javascript - 转换属性 jquery

java - 错误 java.lang.reflect.InitationTargetException