折りたたみ式追記

| コメント(0) | トラックバック(0)

エントリーが長文になったときに後半を追記として記述しているのだが、全文を読むにはページを移動する必要があり面倒だという指摘がかねてからあった。
そこで、1クリックで追記を表示させたり、折りたたんだりできるようにしてみた。

1ページにEntryを複数表示させる場合、長文だとどうしてもページ全体が文字ばかりになってしまい、読む気も失せるし見た目もよろしくない。 だからExtended(追記)の部分に続きを書いて<MTEntryIfExtended>で続きが読めるようにしてたんですが、これだとPermalinkに飛んでしまうので、また戻ったりしないといけなくなる。 どうしようかと思いながら海外のBLOGサイトを見ていると、Scriptygoddess: Collapsing entries AND COMMENTSというものを発見しました。

上記サイトで説明されているように手順としては、Main Indexテンプレートの下のほうにでも下記のJavaScriptを追加。

<script language="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>
<div id="varP<$MTEntryID$>">
<a title="続きを読む" href="<$MTEntryLink$>#<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,'<$MTEntryLink$>#a<$MTEntryID pad="1"$>');return false;">続きを読む</a>
</div>
<div id="varXYZ<$MTEntryID$>" style="display: none">
<a title="続きを隠す" href="#a<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,0);return true;">追記を隠す</a>
<$MTEntryMore$>
<a title="続きを隠す" href="#a<$MTEntryID pad="1"$>" onclick="showMore(<$MTEntryID$>,0);return true;">追記を隠す</a></div>
</MTEntryIfExtended>

JavaScript未対応ブラウザでもそれなりに表示できるように工夫されているのがすばらしいな。

トラックバック(0)

トラックバックURL: http://www.sanzai.net/mt/mt-tb.cgi/255

コメントする

ウェブページ

2014年6月

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          

アーカイブ

Powered by Movable Type 5.17-ja

このブログ記事について

このページは、散財人が2004年12月10日 02:34に書いたブログ記事です。

ひとつ前のブログ記事は「SPACEWARP 5000予約」です。

次のブログ記事は「Fedora Core 2 -> 3」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。