1

私は現在、各ノードが私の Web サイト上の場所である楽しい対話型ナビゲーションのために d3 を使用しています。ウィンドウのサイズを変更するとき、またはユーザーがノードをドラッグするときに、ユーザーがナビゲーションの相互作用を見て楽しむことができることを願っています。

問題は、ノードをクリックすると、現在「アクティブ」なノードを示すようにノードを変更したいということです。ただし、フォース レイアウトで描画を呼び出して変更を誘発するたびに、フォース レイアウトが「小刻みに動き」、すべてのノードの位置が再計算されます。ノードの位置を変更したり、位置を再計算したりせずにノードを変更する簡単な方法はありますか?

4

1 に答える 1

0

次のスニペットで同様の問題を解決しました。

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

このifステートメントは、グラフ レイアウトが完了する前に停止しないように保護します。ノードに新しいスタイルと属性を適用した後で、これを呼び出します。

于 2013-03-12T18:11:11.230 に答える