FCafe  代用追記折り畳み

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

  先の記事で topentry_more と moreブロックが代替可能である事はお分かり頂けたかと思いますが、実際にはそれらの変数・ブロックは存在している訳ですので 「それで何かイイ事あるのか?」 と言われれば「(現状では)ありません」 と申し上げる他は無い管理人です。
強いて考えてみますと、通常通り「続きを読む」をクリックして個別頁へ移動し、「続き」を読んだら最後に『更に続きを読む』というのがあった・・・というような事ができます。(ロシアのお土産か)

  いや、そのような「引っ張り」も悪くないかもしれませんが、実際には 「個別頁へ移動する事無く追記を読みたい」 という需要の方が多いように思われます。 勿論、前記事の方法を多少変更すれば topentry_more を用いずにそれを行う事も可能です。
今回は所謂 『追記の折り畳み』 を topentry_body 単独で行う方法について御紹介。

SAMPLE


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

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

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

<!--not_permanent_area-->
<script type="text/javascript"><!--
function Divide(Cname) {
var A =document.getElementsByTagName('DIV');
var s1='<p class="selector"><a href="javascript:SW('+"'";
var s2="'"+')" id="s';
var s3='">追記を表示</a></p>';
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;
for (j=0;j<2;j++) {B[j]='<div id="'+ID+'p'+j+'">'+B[j]+'</div>'}
A[i].innerHTML= B[0]+B[1]+s1+ID+s2+ID+s3;
document.getElementById(ID+'p1').style.display="none";
} } } }

function SW(ID) {
if (document.getElementById(ID+"p1").style.display=="block"){
document.getElementById(ID+"p1").style.display="none";
document.getElementById('s'+ID).innerHTML="追記を表示";
} else {
document.getElementById(ID+"p1").style.display="block";
document.getElementById('s'+ID).innerHTML="追記を隠す";
} }

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

記事 (topentry_body) 入力時 「前文」と「追記」との境となる部分に以下のようにコメントを挿入します

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

【 解 説 】  前記事のスクリプトとほぼ同様ですが こちらのスクリプトは個別表示以外のモードでも「追記部分」を捨てないで非表示化のみを行います。 そして「続き」リンクの代わりに追記表示スイッチを書き足します。
 ( CSSで .moreSW を設定することで装飾可能ですし、文言も変更可能です)
not-permanent_area ブロックでスクリプトを括れば個別表示頁では全文が表示されます

Comment


.  
HN Title URL PW secret

TrackBack http://pcafe.blog3.fc2.com/tb.php/301-faf592cb

Shown after Admisson
.

≫ 記事の分割表示 「追記」 代用 ≪

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