这是我的代码:
var text = container.append('text');
text.text('text')
.attr('transform',function(){
return "translate(" + x1 + "," + y1 + ")"
})
.transition()
.attr('transform',function(){
return "translate(" + x2 + "," + y2 + ")";
});
addTextBackground(text);
Run Code Online (Sandbox Code Playgroud)
将文本传递给函数addTextBackground,我发现transform attr中的值仍然是x1,y1而不是x2,y2.似乎在转换之前调用了addTextBackground.如何在过渡后调用它?
谢谢
我想到了.使用每个('结束',回调),如:
text.text('text')
.attr('transform',function(){
return "translate(" + x1 + "," + y1 + ")"
})
.transition()
.attr('transform',function(){
return "translate(" + x2 + "," + y2 + ")";
})
.each('end',function(){addTextBackground(d3.select(this))});
Run Code Online (Sandbox Code Playgroud)