ラウンジ(兼FAQ掲示板)

ツリー式メニューについて
過去ログ 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)なウェブプログラ
ムであるか、を利用者は考えます。
この場合、どの程度、最初から展開しておくのか、当方には
全体が不明なために、見当がつきません。

とりあえず、すえぽんさんのスクリプト中の指示を
繰り返し読んで、その通りにお試しください。不具合が
出ることもあるかもしれませんが、目的に近づくことが
できるといいですね。
一定時間書込が無かったので過去ログに移りました

suepon.com | CGI作成/CGI制作 | JavaScript | ドメイン検索 | バナー自動作成 | Google ダンスツール | 松浦亜弥 | H.P.memo | パソコン | ネイル

Copyright (C) 2002 - 2009 suepon , All rights reserved. Powered by CGI Script Market.