2

アニメーションに問題があります。tick 関数を呼び出してノードをアニメーション化し、ノードをクリックして特定の位置にアニメーション化する必要があります。それも機能しますが、アニメーションがないと、ノードはアニメーションなしで位置にジャンプするだけです。

var force = d3.layout.force()
    .size([width, height])
    .nodes([]) // coming from a JSON file
    .linkDistance([]) // coming from a JSON file
    .charge(-750)
    .gravity(0)
    .on("tick", tick);

....

function tick() {

  link.attr("x1", function(d) { return d.source.x; })
      .attr("y1", function(d) { return d.source.y; })
      .attr("x2", function(d) { return d.target.x; })
      .attr("y2", function(d) { return d.target.y; });

  node.attr("transform", function(d) {     
            return "translate(" + (d.x) + "," + (d.y) + ")";          
      });
}

アニメーション コール:

d3.select(tmp_this.parentNode)
  .transition()
  .attr('transform', function(e){
      var position = "translate(" + (500) + "," + (500) + ")";
     return position;
  });
4

0 に答える 0