D3强制布局,突出显示和淡入淡出

时间:2014-01-27 13:06:26

标签: d3.js drag highlight force-layout

在此jsfiddle中实现force layout,具有突出显示所选节点的特殊功能(以及来自该节点的所有链接以及位于这些链接另一端的节点)。

大多数情况下,该方法有效,但是当我在拖动选定节点时点击边界时,突然显示所有布局,并在节点被拖离边界后返回到所需状态。这在以下动画中说明:

(错误的情况是拖延节点击中墙壁)

enter image description here

可以修复吗?

(此示例基于this question实现,可以阅读代码说明等。)

编辑:请参阅Dragging and highlighting了解此问题的不同方法。

enter image description here

这是通过添加行来实现的:

force.drag().on('drag', fade(.1));
force.drag().on('dragend', fade(1));

修改过的小提琴是here

1 个答案:

答案 0 :(得分:1)

我认为这只是来自光标的工件不再位于所选节点之上。撞击墙壁时,如图所示,您将鼠标悬停在所选节点之外。如果你小心地碰壁并仍然将光标放在所选节点上,那么它就可以工作。

在我看来,这不是错误也不是功能,而是所需的行为:当不再选择节点时,高光效果消失了。