svg触发单动画

时间:2015-10-23 13:18:11

标签: javascript animation svg

我发现了SVG的一个问题我还没有解决。给定是具有多个动画的svg,它们相互依赖于begin属性。因此,动画有不同的ID,例如' circle'并使用' circle.end'等值开始标记。这些svg在页面上多次渲染/使用。在第一点是多次拥有id无效。在第二点,所有svg根据circle.end做动画,当我用第一个svg的circle.beginElement()开始时。

那么如何在不使用id的情况下根据另一个动画启动动画,或者如何只在一个svg上启动动画?

以下是示例代码

<svg>
    <defs>
        <path d="asdasd" id="circle-image">
            <animateTransform id="circle" attributeName="transform" type="translate" from="0, 0" to="15, 0" begin="indefinite"/>
            <animateTransform attributeName="transform" type="translate" from="15, 0" to="0, 0" begin="circle.end"/>
        </path>
    </defs>
</svg>
<svg viewBox="0 0 34 24" width="45px" height="24px" class="first">
     <use xlink:href="#circle-image"/>
</svg>
<svg viewBox="0 0 34 24" width="45px" height="24px" class="second">
     <use xlink:href="#circle-image"/>
</svg>

我想以某种方式触发.first #circle动画和.second #circle动画。依赖动画应仅在其使用元素中触发,而不是全局触发。 有人可以在这帮忙吗?

提前致谢 关心托马斯

0 个答案:

没有答案