如何访问正确的节点?

时间:2016-11-29 22:59:29

标签: javascript d3.js graph force-layout

我使用d3.js力布局,我可以点击一个startnode和一个尾注,下面的代码高亮显示所有节点。该代码绑定层次结构中的JSON文件。

我的下一个想法是,显示一个文本,清楚地说明哪些节点以正确的顺序突出显示。 这意味着:

"first node:" name of the first node ,
"second node:" name of the second node,
"third node:" name of the third node,

.....
"end node:" name of the end node

但此时,我只能显示我直接点击的节点的名称(d.data.name)。 startNode.path(d)是一个函数,它返回“startNode”和“d”的最短路径。 在点击任何内容之前,它总是显示文本:“first node:null”。我的问题是:如何才能访问起始节点和结束节点之间的节点?

    var startNode = null;


                    var node = svg.append("g")
                      .
                      .
                      .
                          .on("click", function(d, i) 
                          {
                            var path1 = startNode && startNode.path(d) || []; 
                            startNode = d;

                            node.attr("r", function(d) 
                            {
                              return path1.includes(d) || startNode == d ? 8 : 3;     

                            });

textNode.text("first node: " + d.data.name);
                          })

                  var textNode = svg.append("text")
            .attr("dx", 112)
            .attr("dy", 490)
            .text("first node: " + startNode)

0 个答案:

没有答案