Raphaël的问题以及在svg中删除对象

时间:2015-01-27 20:18:07

标签: javascript jquery svg d3.js raphael

如果您打开代码笔,则会出现一个开火按钮。它将发射一堆椭圆,然后当它击中它将导致爆发。如果你看看有两组的椭圆,它们仍然在那里。我试过使用下面的

d3.selectAll("ellipse").remove()
$("ellipse").remove()
$("ellipse").each(function(){this.remove()})

http://codepen.io/daniel667/pen/QwMWrm

上面的代码笔将有助于显示我正在谈论的最右边的第二个火按钮是我一直试图用来杀死省略号的所以我不会等待动画在最底层的功能

1 个答案:

答案 0 :(得分:1)

我会创建一个Raphael集,或者一个数组并将元素存储在其中,以便稍后可以引用它们来删除。如果它们将被重复使用,可能不值得删除它们,而只是隐藏它们而不是每次都重新创建它们。

var mySet;
...
mySet = paper.set();
mySet.push( circi );

....
function throwss() {
  mySet.forEach( function( el ) { el.remove(); });
}

示例:codepen

对于速度,您可能还想查看Velocity.js,也要注意动画过滤器可能会非常耗费资源。