重新绘制d3力布局而不移动节点

时间:2012-09-14 17:36:25

标签: javascript graph d3.js force-layout

我目前正在使用d3进行有趣的交互式导航,其中每个节点都是我网站上的一个位置。希望是在调整窗口大小或用户拖动节点时,用户可以很有趣地看到导航的交互。

问题是,在点击节点时,我想改变节点以指示哪个节点当前处于“活动状态”。但是,每当我在强制布局上调用绘图来煽动修改时,强制布局“摆动”并重新计算所有节点的位置。是否有一种简单的方法可以在不改变位置或重新计算位置的情况下更改节点?

1 个答案:

答案 0 :(得分:0)

我使用以下代码解决了类似的问题:

if (force.alpha() == 0) {
    force.start();
    force.stop();
}

if语句防止图形布局在完成之前停止。在将新样式和属性应用于节点后,请调用此方法。