D3.js D3 js拖放可缩放树有助于折叠由特定链接连接的节点
我是D3.js新手,我遵循了这个例子。我想修改它的功能,这样就不用在点击节点时折叠和展开树,而是在点击链接时实现此功能。我不知道怎么做。请在这方面帮助我,因为我无法理解javascript代码。我刚刚从示例中复制了代码并使用了它 好的,回答我认为你的问题 您需要为链接添加一个click函数(或者删除节点本身的click函数) Javascript:D3.js D3 js拖放可缩放树有助于折叠由特定链接连接的节点,d3.js,tree,D3.js,Tree,我是D3.js新手,我遵循了这个例子。我想修改它的功能,这样就不用在点击节点时折叠和展开树,而是在点击链接时实现此功能。我不知道怎么做。请在这方面帮助我,因为我无法理解javascript代码。我刚刚从示例中复制了代码并使用了它 好的,回答我认为你的问题 您需要为链接添加一个click函数(或者删除节点本身的click函数) Javascript: function clickLink(d) { d = d.target; d = toggleChildren(d
function clickLink(d) {
d = d.target;
d = toggleChildren(d);
update(d);
centerNode(d);
}
// Enter any new links at the parent's previous position.
link.enter().insert("path", "g")
.attr("class", "link")
.attr("d", function(d) {
var o = {
x: source.x0,
y: source.y0
};
return diagonal({
source: o,
target: o
});
})
.on('click', clickLink); // <--- Add this part.
然后您需要修改linkenter
方法,并将click侦听器链接到该方法。
Javascript:
function clickLink(d) {
d = d.target;
d = toggleChildren(d);
update(d);
centerNode(d);
}
// Enter any new links at the parent's previous position.
link.enter().insert("path", "g")
.attr("class", "link")
.attr("d", function(d) {
var o = {
x: source.x0,
y: source.y0
};
return diagonal({
source: o,
target: o
});
})
.on('click', clickLink); // <--- Add this part.
或者,您可能希望为用户提供一个更大的单击目标,以便您可以将笔划宽度
值增加到像这样更大的值
CSS:
这里的演示基于这个要点
另外,你可以在我的博客上问我:)你试过什么?“链接”是什么意思?链接是指连接树中两个节点的连接线。我已经将问题第一行链接中给出的示例整合在一起。现在我想修改代码以实现我的目标。我不知道怎么做