3

これが私のコードです:

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 にテキストを渡すと、変換属性の値が x2、y2 ではなく x1、y1 のままであることがわかりました。遷移の前に addTextBackground が呼び出されているようです。移行後に呼び出すにはどうすればよいですか?

ありがとう

4

1 に答える 1

5

私はそれを考え出した。each('end',callback) を次のように使用します。

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))});
于 2012-12-10T05:45:35.500 に答える