2012-08-07 4 views

답변

1

난 그냥뿐만 아니라 코드에 이것을 추가 결국

d3.select("#"+ nodeid).data([{x: x, y: y}]); 
1

DOM 요소 (그래픽)는 업데이트하지만 기본 데이터는 업데이트하지 않으며 dragstart 이벤트는 데이터에 아직 저장되어있는 원래 위치를 사용하고 있습니다. 이 같은

시도 뭔가 :

force.setNodeCoords = function (id, x, y) { 
    var fnodes = force.nodes(); 
    fnodes[id].x = x; 
    fnodes[id].y = y; 
    force.nodes(fnodes); 
    svg.selectAll("circle.node") 
     .attr("cx", function(d) { return d.x; }) 
     .attr("cy", function(d) { return d.y; }); 
}; 

(svg 당신의 SVG 또는 다른 부모 DIV이며, node이 노드의 클래스)

당신은 아마 또한 라인을 업데이트 할 수 있습니다 /모래밭!

+0

당신은 매우 많은이에 대한보다. 그것이 작동하는지 나는 확실하다. 그러나 나는 쉬운 수정을 발견했다. –