我在一个页面中加载了 2 个嵌入式 svg-let。一个动画一个没有。它们使用 setTimeout 按顺序加载。当我首先加载动画一切顺利时,动画按预期开始,然后第二个静态 svg 正确显示。当我第一次加载第二个,然后是动画时,动画没有开始。
代码在这里:jsfiddle switch #svg1 和 #svg2 in the javascript。
在浏览器检查后,我发现这可能是一个 webkit 错误,因为 chrome 和 safari 都显示这种行为 FF 12 和 Opera 都很好。
这可以用 JS 代码修复还是我应该用 webkit 提交错误?
== 已添加
我认为应该改写这个问题,为什么在加载了 settimeout 的 svg 后动画没有开始。
正如 Jared 在下面调查的那样,当元素存在于 DOM 中并通过 dom 操作重新排序到焦点元素中时,它可以工作,Chrome 和 webkit 需要通过对 animate 元素的 beginElement() 调用来启动。这仍然不适用于从纯文本构造的元素。因为我只有一个 mac,而且我仍然认为这是一个爱好项目,所以我将 MS IE 完全排除在外。