blogger 自動隱藏全文 修改

Posted by TJ Wei on 星期三, 3月 28, 2007 with 3 comments
這是之前的自動隱藏全文的修改版本。雖然早已有很多不同的自動隱藏全文方式,但是自己寫可以符合自己的偏好,順便熟悉一下一些語法。比方說,我不喜歡一開始先把全文顯示,然後等 sidebar 出現後才隱藏全文。這個版本目前然仍有許多缺點。
相較於原來的版本,這個版本修正了一些缺點且能讓沒有 script 的人也能隱藏全文,也因為使用了 jQuery 比較短了一點。但是還是有 IE6 顯示不正確的毛病。這個版本仍然是要把全文放入 <div id='fullpost'> </div> 之中。修改方式如下

先展開小裝置範本。然後下面這段放在 </b:skin> 後面

<script src='http://code.jquery.com/jquery-latest.pack.js'/>
<script type='text/Javascript'>function hpactl(postid) {
if(!$("#pbody_"+postid+" #fullpost").length) $("#toggle"+postid).hide();
}
function toggled(o){
o.href="javascript:void(0)";
$("#pbody_"+$(o).attr("postid")+" #fullpost").toggle();
if(o.innerHTML!="收起全文")
o.innerHTML="收起全文";
else
o.innerHTML="...請按此繼續閱讀全文";
}
</script>
可以發現比之前的版本短了很多,因為有一部分東西移到後面了。
然後下面這段放在 <p><data:post.body/></p> 後面
<b:if cond='data:blog.pageType != "item"'>
<b:if cond='data:post.url'>
<div expr:id='"toggle"+data:post.id'>
<a expr:href='data:post.url' onclick='toggled(this)'
expr:postid='data:post.id' onmouseover='hpactl($(this).attr("postid"))'>
...請按此繼續閱讀全文
</a></div>
<script type='text/javascript'>hpactl(&#39;<data:post.id/>&#39;);</script>
</b:if>
</b:if>
然後只要在的設定->格式->文章範本裡面放上這段文字
摘要<div id='fullpost'>全文</div>
然後就能很方便的修改變成新的 post。
Categories: