使用<use>动态创建时,SVG <animate>不起作用

虽然我找到了这个问题的变种,但仍未找到解决问题的方法。为了简洁起见,我具有以下结构...

<svg>
   <g>
     <rect></rect>
     <rect></rect>
     <rect></rect>
   </g>
</svg>

通过在组中的rect元素下方添加use元素,可以为这些rect元素设置动画。但是,如果我尝试动态创建带有动画规则的use元素以在rect元素之后和组内插入,则动画不会发生。

在Chrome开发工具中进行检查时,我可以看到动态创建的元素在那里,但是动画没有发生。

我已经在FF和Chrome中进行了测试,但均无法正常工作。

我已经读到这可能是一个Chrome错误,但是我读到的大多数线程都比较旧,并且不确定是否已经找到解决方案。

创建元素时,我正在使用createElementNS。我尝试添加FakeSmile库,即使这似乎是IE特定的。

我只使用JavaScript,没有jQuery。

如果我不清楚,请按以下步骤操作:http : //codepen.io/JoeyCinAZ/pen/Hstkr,以下是无效示例:http : //codepen.io/JoeyCinAZ/pen/GHhbw

罗伯特·朗森

<use>需要使用createElementNS在SVG名称空间中创建元素时,可以使用createElement创建元素。

另外,当必须使用setAttributeNS在xlink名称空间中设置xlink属性时,您尝试使用setAttribute设置xlink属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章