在子节过渡后,在D3.js中删除父节点

时间:2013-02-11 20:06:04

标签: javascript animation d3.js transition

使用D3.js,我想对子元素执行转换(动画),并在转换结束时删除父元素。

  1. 如何确保儿童过渡期结束?
  2. 如何删除父元素?在jQuery语法中,它将是$(this).parent()。remove();

    li.enter() .append( '礼')   .append( 'I')     .text(function(d){return d;});

    li.exit()     .selectAll( 'I')     。过渡()     .style('opacity',0)     。去掉(); //在这里删除父...

  3. 演示: http://jsbin.com/elaxom/1/edit

1 个答案:

答案 0 :(得分:2)

  
      
  1. 如何确保儿童过渡期结束?
  2.   

我在这里学习:Invoke a callback at the end of a transition 我可以像这样使用transition.each([type],listener): d3.selectAll('i')。transition()。each('end',function(){...}); 对每个元素转换'结束'事件的triggr回调。

  
      
  1. 如何删除父元素?在jQuery中它将是$(this).parent()。remove();
  2.   

这种语法对我有用:

d3.select(this.parentNode).transition()。style('opacity',0).remove();

这是最后的演示: http://jsbin.com/elaxom/4/edit