这是我的代码:
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);
将文本传递给函数addTextBackground,我发现transform attr中的值仍然是x1,y1而不是x2,y2。 似乎在转换之前调用了addTextBackground。如何在过渡后调用它?
由于
答案 0 :(得分:5)
我明白了。使用每个('结束',回调),如:
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))});