4
请参阅http://jsbin.com/okUxAvE/28。然后点击query
。注意孩子们如何开始在与query
相同的水平上展示。现在平移到methods
(query
的孩子),然后点击这个展开它。请注意0的孩子几乎从中心开始有不同的扩展。这似乎是没有更多孩子时的行为。d3.js图上的节点对齐
我怎样才能让这些孩子扩展的方式与query
的孩子扩展相同?
我很确定问题出在下面的代码中(我认为),但我仍然无法找到罪魁祸首。我看不出最后一组孩子会有什么不同。
var nodes = tree.nodes(root).reverse(),
links = tree.links(nodes);
nodes.forEach(function(d) { //iterate through the nodes
if(d.parent){ //if the node has a parent
for(var i = 0; i < d.parent.children.length; i++){ //check parent children
if(d.parent.children[i].name == d.name){ //find current node
d.yOffset = i; //index is how far node must be moved down
d.parentYoffset = d.parent.yOffset; //must also account for parent downset
}
}
}
if(d.yOffset === undefined){ d.yOffset = 0; }
if(d.parentYoffset === undefined){ d.parentYoffset = 0; }
d.x = (d.yOffset * 40) + (d.parentYoffset * 40) + 20;
d.y = d.depth * 200;
});
我拍打自己现在。谢谢! – stephenhay