2014-04-16 62 views
3

我想找到一种方法,在点击某个元素时,停止SVG中所有矩形元素上的所有动画。 我试图用这样的:Snap.SVG如何停止所有动画

svg.select("rect").stop(); 

,但我不能得到那个工作

+0

也许如果你把所有的矩形放在一个'g'组中并且在组上使用'stop()'它可能会工作。 – helderdarocha

+1

刚刚选中了[Snap SVG Reference](http://snapsvg.io/docs/#Element.stop)。 'stop()'方法停止* current *元素的所有动画。不知道它是否适用于像我建议的嵌套*元素(你可以试试)。一个更好的解决方案可能是编写一个'stopAll()'函数在所有的矩形上调用'stop()'。 – helderdarocha

回答

5

选择某种类型的所有元素,然后运行forEach,传递,需要一个功能每个单独的元素。

svg.selectAll("rect").forEach(function(elem){elem.stop();});