Javascript 如何获取SVG动画的当前时间/位置?

Javascript 如何获取SVG动画的当前时间/位置?,javascript,svg,Javascript,Svg,假设我在SVG中制作动画,如下所示: <animate begin="click" attributeName="opacity" from="1" to="0.5" dur="5s" fill="freeze" /> 如果我将其与Javascript事件处理程序一起使用,是否有方法获取此动画的当前时间/位置,以便我可以说它是否即将结束?我正在寻找类似于使用elem.getAttribute()的东西 注意:我的意图是在没有CSS支持的情况下反转动画

假设我在SVG中制作动画,如下所示:

    <animate begin="click" attributeName="opacity"
     from="1" to="0.5"
     dur="5s" fill="freeze" />

如果我将其与Javascript事件处理程序一起使用,是否有方法获取此动画的当前时间/位置,以便我可以说它是否即将结束?我正在寻找类似于使用elem.getAttribute()的东西


注意:我的意图是在没有CSS支持的情况下反转动画,但无论如何,这个问题本身就很有趣。

外部SVG元素有一个方法,可以用来确定动画时间线的长度

一旦您知道,您可以计算出动画与它所具有的属性之间的距离,以及动画是否即将结束

还有一个在动画结束时发送的结束,如果需要,可以使用该结束。例如,
elem.setAttribute(“oned”,“alert('done')”)


我还不确定webkit是否支持开始/结束事件,但Firefox支持。

这很糟糕,但似乎很有效。到目前为止,SVG在执行控件和动画方面似乎非常有限。