メニューづくり(sidebar.php)の苦労

メインメニューを作るのにちょっとばかり苦労したので苦労話をメモ。

まず、メニューを折りたたみ式にしたかったのと、メニューの中にカテゴリーだけでなく、ページ部分も自由に入れられるようにしたかったので、list_cat関数を取り外し、手作りメニューに変更。サブメニュー部分の折りたたみは、親メニューをクリックするたびに子供メニューのdisplay属性をjavascriptで変更してやることで実現。(参考:au one netの講座

・・・と、ここまではau one netのおかげですんなり。
しかし、どこかのサブメニューをクリックして、例えば「北海道・東北」(の灯台放送)というサブカテゴリーを表示させると、ついさっきまで開いていたサブメニューは閉じている状態(初期状態)になってしまう。

初期状態でのdisplayを「none」か「block」かのどちらかに固定している以上、これは避けられない・・・・待てよ、「今、表示されているカテゴリー番号」を読み取って、当該のカテゴリーだけサブメニューが開くように制御できれば問題は解決するはず。

ただ、カテゴリーはたくさんあって、if文の山になりそうなので、カテゴリーを階層化し、親カテゴリーの番号を読み取って、その親の下にあるサブメニュー(サブカテゴリー)だけ開くことができれば少しはスマートかも。

で、探してみたところ、ありました。このサイト。ありがたやありがたや。 親メニューの1つ1つに、if文、今のところ合計7つを入れないといけない、やや見苦しい状況になってしまったが、とりあえず目的は達成。めでたし。

HTML convert time: 0.299 sec. Powered by WordPress ME