2014-04-16 63 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();});