我目前正在使用 d3 进行有趣的交互式导航,其中每个节点都是我网站上的一个位置。希望当调整窗口大小或用户拖动节点时,用户可以享受到导航交互的乐趣。
问题是,单击节点后,我想更改该节点以指示哪个节点当前处于“事件”状态。但是,每当我调用力布局上的绘图来引发修改时,力布局就会“摆动”并重新计算所有节点的位置。有没有一种简单的方法可以更改节点而不更改其位置或重新计算其位置?
最佳答案
我用以下代码片段解决了类似的问题:
if (force.alpha() == 0) {
force.start();
force.stop();
}
if
语句可防止图形布局在完成之前停止。您可以在将新样式和属性应用到节点后调用此函数。
关于javascript - 重绘 d3 力布局而不移动节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429359/