ツリー メニューは、多くのデスクトップ アプリケーション システムで広く使用されており、その主な利点は、構造が明確であり、ユーザーが現在の場所を明確に把握できることです。ただし、Web 上のツリー メニューのアプリケーションでは、直接使用できる理想的な既成コンポーネントが存在しないため、プログラマは主に JavaScript を使用していくつかの単純なツリー構造のメニューを実装しますが、これらのメニューは で用意されることがよくあります。各メニュー項目と各メニュー項目間の階層関係を定義すると、別のメニュー構造が必要になることが多く、あまり便利ではありません。
関数の再帰について勉強した結果、この種のツリーメニューは再帰関数を通じてツリーメニューの表示を動的に変更でき、系列の数に制限がないことがわかりました。以下は、php(現在主流の開発言語)、MySQL(PHPとの最適な組み合わせ)、JavaScriptを使用して書いた動的ツリーメニューの処理コードです。興味のある方はフォローしてください。私がそれをどのように達成したかを見てください:)
まず、データベースが必要です。このデータベースでは、次のテーブルを作成します:
CREATE TABLE menu (
id tinyint(4) NOT NULL auto_increment,
parent_id tinyint(4) ) DEFAULT 0 NOT NULL,
name varchar(20),
url varchar(60),
Prima(最も完全な仮想ホスト管理システム)RY KEY (id)
);
このテーブルではidがインデックスです
Parent_idは上位メニューのID番号を保存するために使用され、第一階層メニューの場合は0になります
nameはメニューの名前で、ページに表示されるメニュー内容です
urlメニューが最終レベルのメニューの場合は、接続の URL アドレスを指定する必要があります。このフィールドは、他の最終レベル以外のメニューの場合は空です。データベースが利用可能な場合、いくつかのレコードを追加できます。 テストを実行するときに、いくつかのレコードを使用します。
INSERT INTO menu VALUES (1, 0, 人事管理,);
INSERT INTO menu VALUES (2, 0, communication,) ;
INSERT INTO menu VALUES (3, 1, ファイル管理, );
INSERT INTO menu VALUES (4, 1, 勤怠管理, http://localhost/personal/attendance.php
(現在の主流の開発言語として)
); INSERT INTO menu VALUES (5, 2, address book, ); INSERT INTO menu VALUES (6, 2, オンライン会議,);
INSERT INTO menu VALUES (7, 3, add file, http://localhost /personal/add_achive.php
(do INSERT INTO メニューの値 (8, 3、ファイルのクエリ、http://localhost/personal/search_archive.php
); メニューの値 (9, 3、ファイルの削除、http:// localhost/personal/delete_archive.php(現在の主流の開発言語として)
); INSERT INTO menu VALUES (10, 5, 通信レコードを追加, http://localhost/communication/add_address.php(現在の主流として)開発言語)
); INSERT INTO menu VALUES (11, 5, クエリ通信記録, http://localhost/communication/search_address.php( 現在主流の開発言語として)
); INSERT INTO menu VALUES (12 , 5, 通信記録を削除します, http://localhost/communication/delete_address.php(現在の主流の開発言語として)
); INSERT INTO menu VALUES (13, 6, 会議を開催します, http://localhost/ communication/convence_meeting.php(現在の主流の開発言語として)
); INSERT INTO menu VALUES(14,6,conference query, http://localhost/communication/search_meeting.php(現在の主流の開発言語として)
); レコードを追加するときは、最初のレベル以外のメニューのparent_idを上位レベルのメニューのID番号として指定する必要があることに注意してください。そうしないと、メニューが表示されません:)
わかりました。 !データベースの場合は、データベースからメニューを読み込み、php(現在主流の開発言語)
とJavaScriptで表示するのは以下の通り:)
1. JavaScriptスクリプト:
function ShowMenu(MenuID) { このスクリプトこれは非常に単純で、メニューがクリックされたイベントに応答するために使用されます。
2. CSS ファイル:
FONT-FAMILY: "Verdana", "フォントサイズ": 12px; :1px