1

私はこのサイトのオールインワン開発者です。そのサイトでは、グラフ上の任意のノードをクリックすると、結果の div の内容が更新されます。私はすべての div コンテンツを最初から書き直すというばかげた方法でそれをやっています。それが最善の方法ではないことは確かですが、そのような動的更新について何を提案しますか?

これらのすべてのスニペット div をこれらの id を持つ配列に保持できるように、結果 (おそらくそれらの id) と結果の div の id を一致させる方法があると思います。その後、更新が必要な場合は、すべてのコンテンツをもう一度書き直しますが、結果に一致する dom オブジェクトをプッシュするだけです。

dom オブジェクトを div に保持し、必要なときにページの本文にプッシュすることもできますか?

またはそれを成功させるための他の方法はありますか?

4

2 に答える 2

1

グラフでクリックしたノードに一致しない div を非表示にするだけです。このようにして、リセットをクリックすると、すべての div が表示され、コンテンツを再作成し続ける必要がなくなります。

于 2012-05-16T18:34:53.270 に答える
1

すべての div をドキュメント内に配置して、最初は非表示にすることができます。個々のノードのすべての div id を配列または何らかのオブジェクトに保持します。

ノードがクリックされると、クリックされたノードに対応する div をターゲット div に挿入し、それらを可視に設定します。

このアプローチの問題点の 1 つは、非表示の div が DOM ツリーの一部であっても、選択した div をターゲット div に挿入すると、それらの div が実際には元の DOM ノードから新しいノードに移動することです。このようにして、ユーザーが同じノードを再度クリックすると、それらの div はなくなります。

この問題を解決する 1 つの方法は、最初にノードのクローンを作成し、クローンしたノードをターゲットの場所に移動することです。または、新しい div でターゲットを更新する前に、ノードがぶら下がるのを避けるために最初にノードを元に戻すことをお勧めします。

于 2012-05-16T18:49:02.827 に答える