如何跳转到D3的过渡结束?

时间:2015-08-04 10:33:56

标签: d3.js

假设我正在进行转移,例如

svg.select('rect')
   .transition()
   .duration(5000)
   .attr('opacity', 0)
   .each('end',function() {
       d3.select(this).remove()
   });

有没有办法跳转到转换结束并触发回调?

1 个答案:

答案 0 :(得分:2)

D3似乎没有提供跳转到转换的最终状态的方法,但是可以中断转换并使用特定的中断回调来按预期设置元素:

svg.select('rect')
   .transition()
   .duration(5000)
   .attr('opacity', 0)
   .each('end',function() {
       d3.select(this).remove();
   })
   .each('interrupt',function() {
       // This is called when the transition is interrupted
       d3.select(this).remove();
   });

setTimeout(function() {
    // This interrupts any ongoing transitions
    svg.select('rect').transition();
}, 1000);