「続きを読む」をclickしたらアーカイブに飛ばずに、その場で開く。
・・・・・・・と、いうのは、いろんなブログサイトで、たくさん使われておりますが、
MovableTypeにそんなscriptはありません。
一体みんなどうしてるんだろう?と、思っていたら、やっと発見。
なるほどなあ〜と思うことしかり。
Javascriptってこんな風につかえばいいんですね。
その方法は、MovableTypeを攻略せよ! ページ変更なしで「続きを読む」にありました。
方法はとっても簡単です。
エントリーが表示されるテンプレート(つかさみずほの場合は、メインページと日付アーカイブに導入しました)を開き、<head>〜</head>の中に
<script language="javascript" type="text/javascript"> function showMore(varA1, varB1){ var123 = ('varXYZ' + (varA1)); varABC = ('varP' + (varA1)); if( document.getElementById ) { if( document.getElementById(var123).style.display ) { if( varB1 != 0 ) { document.getElementById(var123).style.display = "block"; document.getElementById(varABC).style.display = "none"; } else { document.getElementById(var123).style.display = "none"; document.getElementById(varABC).style.display = "block"; } } else { location.href = varB1; return true; } } else { location.href = varB1; return true; } } </script>
という記述をいれ、さらに、
<MTEntryIfExtended>〜</MTEntryIfExtended>の中のタグを、
<MTEntryIfExtended>
<span id="varP<$MTEntryID$>" class="more">
<a title="続きを読む" href="<$MTEntryLink$>#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,'<$MTEntryLink$>#<$MTEntryID pad="1"$>');return false;">≫続きを読む</a></span>
<div id="varXYZ<$MTEntryID$>" style="display: none">
<$MTEntryMore$>
<span class="more">
<a title="元に戻す" href="#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,0);return true;">≪元に戻す</a></span></div>
</MTEntryIfExtended>
に、変更。
どんなに長〜いエントリーもパタパタっと折りたためるようになります。
すごいなあ〜。
すごく簡単だけど、こんなの思いつく人ってホントすごいよ〜。
やっとこれで、長〜いテキストに悩むこともなさそうです。
MovableTypeを攻略せよ!さん、本当にありがとうございました。
あ〜パタパタ>ウレシイ♪

