Apr 2007      <  >

SunMonTueWedThuFriSat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          

CATEGORIES

monthly archives

2008
2007
2006
2005

- June 2005 (older diary)

« "PHP モジュール化" | main | "日付アーカイブページでの月別リストの表示様式" »

menufolder.js アップデート と 折りたたみの考察

# 連休ですねー. ちょっと飛ばしていけるかも.

このサイドバーにある、カテゴリリスト月リスト折りたたみは、小粋空間さま提供の menufolder.js というスクリプトで実現しています.
4/27 付けで、このスクリプトのアップデートが出ています. → 

menufolder.js は折りたたみの状態(開・閉)をクッキーにて保持しているそうで、別ページに飛んだりしても、同じメニューの場合は折りたたみの状態が継続されます.
スクリプト自体の設定で、この保持機能をオン・オフできるのですが、これをメニューごとに設定できるようにしたのが、今回のアップデートです.
折りたたみ自体は、FoldNavigation という関数を呼んで処理するんですが、代わりに FoldNavigationStateless という関数を呼ぶことで、開閉状態を記憶しないように設定できます.
開閉状態の保持については、このアップデートを見つけるまではあまり考えていなかったのですが(設定そのままで、保持されるようにしてました)、いろいろ考えて保持されないようにしました. 後でメニューごとに戻したりしやすいように、スクリプトの設定変更ではなく、上記の新関数を呼ぶことで処理してます.

さて、各ページのリストや、その折りたたみ状態をどうするかについて、自分なりにいろいろ考えて、少し手直ししてみました.

折りたたみをさせるのは、カテゴリリスト月リストの 2 つ. 後者は、年の部分は折りたたみせずに表示させ、そこをクリックすることで月部分が表示されるという形です. これらのリストがあるのは、メインページ各アーカイブ(エントリ、カテゴリ、日付)の 4 ヶ所. それぞれについて書いてみましょ.

メインページには、当然両方のリストを置きます. 表示が長たらしくなるので、基本的には閉状態. 月リストについては、当該年、つまり今年のリストだけは開いておきます. 開いておくというか、正確には折りたたみが機能しないようにしてあります. これは、後述の日付アーカイブページとの整合性を取る意味もあります. 恒常的に開いていることを明示的にするために、スタイルシートで年部分の表示色を変えました

各アーカイブページでは、そのページが何を目的としているかを考えてみます.

エントリアーカイブは、特定のエントリのためのページ. 特定のカテゴリや日付とは関係ない分、どこへでも飛べた方がいいので、リストは 2 つとも置きます. リストの特定の項目と関連性がないわけですから、どちらも閉状態. 開・閉状態の記憶はなし

カテゴリアーカイブには、特定のカテゴリを見たい人が来ます. 別なカテゴリを知りたいでしょうから、カテゴリリストを開状態で置き、折りたたみはさせないようにします. 日付でのナビは必要ないから、月リストは置かないし、カレンダーも表示しません. リストのうち、今いるカテゴリの部分は表示色を変えて、リンクも外しておく. この最後の表示色の部分は簡単に書けるかと思ったんですが、うまくいきません. なので、現時点では未完成です.

日付アーカイブには、時系列でエントリを見たい人が来るはず. なので、カテゴリリストは置かず、カレンダーと月リストを置きます. カレンダーは、その日付のものを表示し、月リストは当該アーカイブの年のものだけ開状態で、折りたたみをさせない. 表示色も変えます. 別な日付アーカイブに飛んだときに月リストの変なところが開いていないようにするために、開・閉状態の記憶はなし

と、ちょっと理屈っぽく考察してみました. ま、どうでもいいかなぁw

TrackBack URL of this entry:
http://neuro-nex.net/mt/mt-tb-n3.cgi/271

Post your comment!


ABOUT

Entry "menufolder.js アップデート と 折りたたみの考察"

Post: April 28, 2007

Category: Web page making


Prev. entry:
"PHP モジュール化"

Next entry:
"日付アーカイブページでの月別リストの表示様式"