Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript d3.js-添加新节点后图形被破坏_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript d3.js-添加新节点后图形被破坏

Javascript d3.js-添加新节点后图形被破坏,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我使用以下逻辑构建下图: 鼠标悬停在节点上-这是未连接的节点&它们的链接是透明的。 鼠标悬停在链接上-所有节点和链接都是透明的,除了被触摸的链接变为粗体和两个节点。 这非常有效,直到我尝试向图中添加更多节点。按Add Node(添加节点)按钮,添加另一个节点及其与聚会的链接。问题是,节点逻辑断开,链接逻辑仍然工作。 知道为什么吗 谢谢! 您多次调用draw方法,因此必须仔细对待它 只有新添加的节点才应添加图像和圆标记, 所以你应该改变 mNode = svg.selectAll(".node"

我使用以下逻辑构建下图:

鼠标悬停在节点上-这是未连接的节点&它们的链接是透明的。 鼠标悬停在链接上-所有节点和链接都是透明的,除了被触摸的链接变为粗体和两个节点。 这非常有效,直到我尝试向图中添加更多节点。按Add Node(添加节点)按钮,添加另一个节点及其与聚会的链接。问题是,节点逻辑断开,链接逻辑仍然工作。 知道为什么吗

谢谢!

您多次调用draw方法,因此必须仔细对待它

只有新添加的节点才应添加图像和圆标记, 所以你应该改变

mNode = svg.selectAll(".node")
            .data(mNodesData)
            .enter()
            .append("g")
            .attr("class", "node").
            merge(mNode);

改变

var nodeCircle = mNode.append("circle")


和图像相关的代码应该以同样的方式更改。

看起来不错!今天晚些时候我会验证并更新!谢谢:-
var newNodes = svg.selectAll(".node")
            .data(mNodesData)
            .enter()
            .append("g")
            .attr("class", "node");

mNode=newNodes.merge(mNode);
var nodeCircle = mNode.append("circle")
var nodeCircle = newNodes.append("circle")