FCafe  記事の分割表示

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

  さて、前二つの記事で本来「エントリ前文」である topentry_body 単体を「前文+追記」に分ける方法について書かせていただきましたが、ついでにもう少しこの「応用」を考えてみました。
FC2に限った事ではありませんが(頁スクロールを要する程度の)長文を書くブロガーの方はそれ程多くないようです。 これは(解釈によっては)「通常?のテンプレートでは長文が読み難い」ためであるとも考えられないでしょうか。(コンパクトな3カラムとかに小さな文字が延々と連なっていたらちょっと○○いような気もするかも)
 写真(画像)については既に 「スライドショー」 等の提案をさせていただいている当店ですが、文章についても同様の事が可能であれば便利と感じられる方がいらっしゃるのではないか、とそう考えまして (白木屋の軟骨フライみたいですが) topentry_body を複数の「節」に分割して表示する方法を考えてみました。

 

SAMPLE


【 設置法 】  テンプレートソース中の <%topentry_body> を以下のようにします。
( 前二つの記事と同じです )

<div class="ebody" id="t<%topentry_no>"><%topentry_body></div>

topentry ブロック以降 (HTML末尾 </body> 手前でも可 )に以下のスクリプトを書きます

<script type="text/javascript"><!--
function Divide(Cname) {
var A =document.getElementsByTagName('DIV');
var s1='&nbsp;<a href="javascript:ctx('+"'";
var s2=')" title=" 表示する "> ';
for (i=0;i<A.length;i++) {
if (A[i].className==Cname) {
var B=A[i].innerHTML.split(/<!\-\-=*\-\->/);
if (B.length>1) {
var ID=A[i].id;  var n=B.length;
for (j=0;j<n;j++) {B[j]='<div id="'+ID+'p'+(j+1)+'">'+B[j]+'</div>'}
var C= B.join('')+'<p class="selector" id="s'+ID+'">';
for (j=1;j<=n;j++) {C=C+s1+ID+"',"+j+","+n+s2+j+' </a>'}
A[i].innerHTML=C+'&nbsp;</p>';
B=A[i].getElementsByTagName('DIV');
for  (j=1;j<n;j++) { B[j].style.display="none"}
B=document.getElementById('s'+ID).getElementsByTagName('A');
B[0].title=" [表示中] ";B[0].style.color="red";
} } } }

function ctx(ID,k,j) {
var C=document.getElementById('s'+ID).getElementsByTagName('A');
for (i=0;i<j;i++)  {
if (i==k-1) {
document.getElementById(ID+'p'+k).style.display="block";
C[i].title=" [表示中] ";C[i].style.color="red";
} else {
document.getElementById(ID+'p'+(i+1)).style.display="none";
C[i].title=" 表示する ";C[i].style.color="blue";
} } }

Divide('ebody');
//--></script>

記事 (topentry_body) 入力(投稿)時 各節の区切りとなる部分に以下のコメントを挿入します

<!--===============================-->
.

【 解 説 】  今回のスクリプトは一つ前の記事のそれと殆ど同じ仕組みです。  即ち各記事を調べ 「区切りコメント」 がある場合は記事を分割し第2節以下を非表示化します。  異なるのは分割された記事の3番目以降の記事も捨てずに、各分節毎にSWを作製する点のみです
デフォルトではSWはその節の表示状況を「色」で表すようにしてありますが、この辺りはお好みで変更されて下さい ( マウスオン時のメッセージも指定できます  )
勿論 スクリプト無効環境では記事は分割されませんし not-permanent_area ブロックでスクリプトを括れば個別表示頁では全文表示となります。 (”区切り”はどの場合も表示されません )

スクリプトを少し簡略化したものを共有プラグインにUPしました

Comment

lunaj lunaj Edit
09/24 21:21

こんにちは。私は中国語の翻訳を行いたくて、できますか?ありがとうございます!hello,I love this plugin, may i translate it into Chinese?thanks!

daniel daniel Edit
09/24 22:25

歓迎 and How do you do lunaj_san .
I m very glad if my Pluguin is transrated into other languages .
It'll be a distinct honor for me . 謝謝


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/302-cd000fe2

Shown after Admisson
Go to the Moon *
  &#36891;外掛欄的時候意外的找到了[DivideEntry]這個外掛,但那時沒時間仔細研究,也就先擱下了。後來發現這是個頗好用的外掛,如果&#20320;常寫長文,或是常貼落落長的圖片的話,更是個...
.

≫ ダーサイのデーサイ 代用追記折り畳み ≪

2006 / 02 / 09  Thu
Entry   
Comment 2 / TB 1 / Edit
Designed by Daniel Corporation . all rights renounced
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。