「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
エントリーの複数回折りたたみ(その1)
先日、以下のような質問を受けました。
一つのエントリー内で、javascriptを利用したエントリーの折りたたみ表示を何回も使用することはできるのでしょうか?
これができれば非常にありがたいのですが……。
そこで、1つのエントリーの中に、複数箇所の折りたたみを入れられるようなJavaScriptを作ってみました。
今日から3回に分けて紹介します。今日は下準備編です
以下の仕様をすべて満たすBlogツールであれば、このJavaScriptを使えるはずです。
- 記事内のタグをそのまま出力することができる
- テンプレートをカスタマイズすることができる
- スタイルシートをカスタマイズすることができる
1.JavaScriptの作成
まず、折りたたみ用のJavaScriptを作成します。
そのソースは以下の通りです。
function multifold(id) { var obj = document.getElementById(id); var obj_c = document.getElementById(id + '_c'); if (obj.style.display == 'block') { obj.style.display = 'none'; obj_c.innerHTML = obj_c.innerHTML.replace(/閉じる/, "開く"); } else { obj.style.display = 'block'; obj_c.innerHTML = obj_c.innerHTML.replace(/開く/, "閉じる"); } }
作成したソースには、「multifold.js」という名前を付けて、サーバーの適切なディレクトリにアップロードします。
例えば、Movable Typeの場合なら、Blogの出力先ディレクトリにアップロードすると良いでしょう。
2.JavaScriptの組み込み
次に、Blogのテンプレートに、上記のJavaScriptを組み込みます。
テンプレートのHTMLのヘッダー部分(<head>~</head>の部分)に、以下の行を入れると、JavaScriptを組み込むことができます。
「multifold.jsのURL」の部分は、各自の環境に合わせて読み替えてください。
<script type="text/javascript" src="multifold.jsのURL"></script>
なお、Movable Typeの場合だと、以下のようにすれば、Blogの出力先ディレクトリからmultifold.jsを読み込むようになります。
また、Movable Typeでは、メインページと各アーカイブテンプレートに以下の部分を追加します。
<script type="text/javascript" src="<$MTBlogURL$>multifold.js"></script>
3.スタイルシートの追加
次に、Blogのスタイルシートのファイルに、以下の部分を追加します。
div.multifold { display : none; }