過去ログ NO.1109253528
□ abe [2005年02月22日11時36分]はじめまして。
ツリー式メニューを表示する時に すべてのフォルダ(階層)が開いた状態で 表示したいのですが、可能でしょうか?
よろしければ、ご教授よろしくお願い致します。
□ NXer [2005年02月24日22時58分] はじめまして。NXerです。 -------------------------------------- /* ツリーに表示する項目 list[x] = "1,2,3"; 1.所属する親フォルダの番号 [x] (最初から表示しておく項目は空白に)←この指示がポイント ------------------------------------------- 下の配列の内容をみてください。 どれが最初から表示されていると思われますか。 もちろん「,」(コンマ)で始まる親リスト1 ですね。「空白」ではなくて、削除することです。 配列の要素としては、確かに、「空」(null)です。 この「空」という存在しないものが存在するという 発想は、当方には、なじめないところです。
list = new Array(); list[0] = ",親リスト1"; list[1] = "0,親リスト1-1"; list[2] = "1,親リスト1-1-1"; -------------------------------- list[1] = "0,親リスト1-1"; list[1] = ",親リスト1-1"; -------------------------------- と0の項目を「空」にすることで、最初から表示 されますか。このように、指示に従ってそのように なるのかお試しください。
当方で試した結果、気づいた点を追記しておきます。
空白の例 list[0] = ",親リスト1"; list[1] = ",親リスト1-1"; 表示例 親リスト1 親リスト1-1
ただしこの時他に同レベル・階層にある list[9] = "0,親リスト1-2"; の0も list[9] = ",親リスト1-2"; と削除するなどして、展開と復帰機能が 正しく動作するか、丁寧に調べて見てください。 とても複雑な配列が組まれていますので、当方 に与えられている能力と時間では十分な検証は できていません。
また、初期値で省略することは、展開はその下位レベル・ 階層に限られるという制約があります。つまり、すでに初期値 で展開済みですから、それらを収納することはできません。 ツリー式メニューの特徴が、この場合は、原点を 1つ又は2つ程度にして、その下位レベルは、収納されている ことにあります。したがって、全て展開した表示という のであれば、なにも収納型ツリー式メニューにする必要 がないと思います。
ウェブページには何らかの作成目的があります。その目的を 達成するのに、どれが最適(optimum)なウェブプログラ ムであるか、を利用者は考えます。 この場合、どの程度、最初から展開しておくのか、当方には 全体が不明なために、見当がつきません。
とりあえず、すえぽんさんのスクリプト中の指示を 繰り返し読んで、その通りにお試しください。不具合が 出ることもあるかもしれませんが、目的に近づくことが できるといいですね。
一定時間書込が無かったので過去ログに移りました
|
|