
11December
2003 : ThursdayID-37
JavaScript カスタマイズ vol.13
Javascriptを使ってサイドメニューをサイドメニュータイトルに格納させる
各アーカイブページエントリー単体、カテゴリー、月別ログ)を見てもらえれば分かると思いますが、サイドメニューのタイトルにサイドメニューが格納されてます。こうする事にスッキリしていいかなと思いやってみました。
トップページで使ってないのは、更新を視覚的に分かり易くさせる為にあえてそのままにしました。「ボクはこんなに毎日書いてるんだ!」と見せつける為でもあります……。
MovableTypeを既にPHP化してincludeさせてある事を前提に解説していきます。
PHP化、includeに関してはコチラを参照して下さい。
まずうちで言うならサイドメニューはSide Indexというテンプレートを作ってincludeさせてるのですが、今回の格納するのはアーカイブページでのみ仕様したいので新たにアーカイブ用のSide Indexを作る必用があります。トップページでも仕様するならばSide Indexを変更します。
うちではSide Archive Index(archiveside.php)としてSide Index全てをコピペして作りました。サイドメニュータイトルをクリックして開かせるので、
<div class="a-sidetitle">
最近のエントリー
</div>
となっている部分、要するにサイドメニューのタイトル部分に、<div class="a-sidetitle">
<a href="javascript:void(0);" onClick="showHide('c1');">最近のエントリー</a>
</div>
として最近のエントリー前後をJavascriptが機能するように記述します。次に、その直ぐ下にある、
<div class="side">
の上に、<div class="sidehide" id="c1">
と記述してJavasprictを反映出来る様にします。div属性を作ってるので、</div>
で格納する部分のブロックのサイドメニューを閉じるのを忘れないようにしましょう。
これを格納したいメニュー全てに行います。cXの部分は、そのIDのあるJavasprictをクリックするとID指定してる部分が出現、消失されるのでタイトル毎に変える必用があります。連番である必要性はありません。
また、サイドメニュータイトルがリンク属性になるのでStylesheetテンプレートで新たに、クラスを作って指定した方がいいと思います。ワタクシは.a-sidetitleというクラスで作りました。
終わったら保存、再構築して下さい。
次に、Javascriptの記述をします。直接各アーカイブのhead部分に記述するのもいいですが、3個のアーカイブに適用するので外部ファイルとして読み込ませてます。テキストエディタなどで以下のソースをコピペして、sidehide.jsなどとして保存、MovableTypeのindex.phpがあるフォルダなどにアップロードして下さい。
if(document.getElementById){
document.writeln('<style type="text/css" media="all">');
document.writeln('<!--');
document.writeln('.sidehide{display:none}');
document.writeln('-->');
document.writeln('</style>');
}
function showHide(id){
var disp = document.getElementById(id).style.display;
if(disp == "block"){
document.getElementById(id).style.display = "none";
}
else{
document.getElementById(id).style.display = "block";
}
return false;
}
function hideShow(id){
var disp = document.getElementById(id).style.display;
if(disp == "none"){
document.getElementById(id).style.display = "block";
}
else{
document.getElementById(id).style.display = "none";
}
return false;
}
出来たらアーカイブにこのファイルを読み込ませる記述をします。<script type="text/javascript" src="<$MTBlogURL$>sidehide.js"></script>
を各アーカイブのhead部分に記述します。アップロードしたファイルパスを記述しましょう。最後に、各アーカイブのSide Indexをincludeさせていた部分を最初に作ったアーカイブテンプレート用のサイドメニューのファイルに変えるだけです。終わったら保存、再構築しましょう。
後は、自サイトに合うようにCSSを設定してあげましょう。
Safari、Mozillaだと、リストタグを使ってた部分に、
今回参考にしたサイトですが、Safariをリセットしてしまってアドレス分からなくなってしまいました。色々飛んだ先にあったのでどこかも分かりません…あぅぅ。
追記:
これよりも利便性の高い方法があります。そちらをお勧めします。
→ カスタマイズ vol.29
Comments
Post a Comment
- 台風18号 被害
- so-su ⇒ 2004.09.08
- 酢鶏 ⇒ 2004.09.12
- モンクレール ダウン ⇒ 2013.01.16
- オンプロキャラ
- HertQWsjty ⇒ 2012.06.12
- 大台
- avi09 ⇒ 2009.08.28
- カスタマイズ vol.36
- 酢鶏@mixi進出 ⇒ 2004.12.18
- balabo3_gp ⇒ 2009.06.19
- balabo3_dt ⇒ 2009.06.20
- 骸2
- so-su ⇒ 2004.01.12
- so-su ⇒ 2004.01.12
- 帰省(BlogPet)
- ソラ ⇒ 2005.08.24
- 埼玉スタジアム
- ときた ⇒ 2005.03.21
- sosu ⇒ 2005.03.21
- カスタマイズ vol.23
- あるまじろの巣
┗ コメントの頭出し
⇒ 2008.04.09 - 08:03 PM - カスタマイズ vol.36
- cocoons.org*
┗ MT3.xのMTIfNonZeroをMT2.6xでも
⇒ 2005.01.02 - 09:19 PM - PSP本体のレビュー
- kjfive_blog
┗ PSPは売れるのか?
⇒ 2004.12.09 - 04:04 PM - こうさぎ背景
- PukiWiki/TrackBack 0.1
┗ 背景画像
⇒ 2004.12.07 - 04:44 AM - こうさぎ背景
- Webkunの日記
┗ サイト紹介 こうさぎウィキ 背景配布先リンク集
⇒ 2004.09.16 - 11:53 AM - カスタマイズ vol.17
- 我楽
┗ コメント投稿欄のメールアドレスを非表示に。
⇒ 2004.09.14 - 02:42 PM - こうさぎ背景
- ともぢの日々是日常
┗ 今日はビアガーデン♪&「こうさぎ」について
⇒ 2004.08.21 - 02:01 PM











