Javascriptでサイドバーの表示を制御できた
- 2006年12月16日(土) 20:33 JST
- 投稿者: dengen
先日、Geeklogが勝手に2カラムレイアウトにしてしまう場面でも、しぶとく表示されて3カラムレイアウトを維持くれるブロックを作成したが、今度は、Javascriptをつかって左右サイドバー(左右カラム)を制御しようと試みた。
また、ついでに私が標準にすえているリキッドレイアウトと、一般的に人気の高い横幅の狭い固定レイアウトの切り替えにもまとめて挑戦してみた。
結果、意外なほど簡単にできてしまった。まず、リキッドと固定の変更はスタイルシートの切り替えで対応することとし、これはIvySOHOなどでも使われているstyleswitcher.jsを導入することで容易に達成できた。
残る2カラムと3カラムの変更については、styleswitcher.jsの中身を解読しながら、同様の手法と、それと任意のid属性の要素のクラス属性を変更し、CSSで表示を制御する手法を組み合わせることで実現できた。
Javascriptの関数を起動するボタンを配置して、いつでも思いのままにレイアウトが変更できるようになったので、先日作成したスーパーブロックはもはや存在価値がほとんどなくなった。こうなると、今度は、ブロック要素がない場合でも、強制的に空白のカラムができてしまうことに不満を感じるようになった。なんとかならないものか。
タグ:geeklog javascript styleswitcher css smallboxes