2008年5月3日 星期六

[+/-] Read More...

為了要讓自已的部落格美化點,所以在找Plugins & Hacked,
近期有時間的話會陸續整理幾個實用的功能給各位參考!!!

[+/-] Read More...
可以把想要的文章內容先隱藏起來,待點選Read More後再開全文,
這個功能反應速度快,待閱讀完畢時又可馬上縮起來,較不占空間。


前提:
Blogger預設文章瀏覽方式是全文,不論文章長短全一覽無遺,
我個人比較偏好先觀看大意後再去點選繼續閱讀後開啟文章,
這在個瀏覽過程中可以簡省很多時間在玩弄滑動滑鼠的中鍵。

操作方法如下:

STEP1:將以下程式碼增加到Template-<head>裡.(<head>之前.)

&lt;script type="text/javascript"&gt;
function toggleIt(id) {
post = document.getElementById(id);
if (post.style.display != 'none') {
post.style.display = 'none';
} else {
post.style.display = '';
}
}

function showFullPost(id) {
var post = document.getElementById(id);
var spans = post.getElementsByTagName('span');
for (var i = 0; i &lt; spans.length; i++) {
if (spans[i].id == "fullpost")
spans[i].style.display = 'inline';
if (spans[i].id == "readmore")
spans[i].style.display = 'none';
}
}

var fade = false;
function showFull(id) {
var post = document.getElementById(id);
var spans = post.getElementsByTagName('span');
for (var i = 0; i &lt; spans.length; i++) {
if (spans[i].id == "fullpost") {
if (fade) {
spans[i].style.background = peekaboo_bgcolor;
Effect.Appear(spans[i]);
} else spans[i].style.display = 'inline';
}
if (spans[i].id == "showlink")
spans[i].style.display = 'none';
if (spans[i].id == "hidelink")
spans[i].style.display = 'inline';
}
}

function hideFull(id) {
var post = document.getElementById(id);
var spans = post.getElementsByTagName('span');
for (var i = 0; i &lt; spans.length; i++) {
if (spans[i].id == "fullpost") {
if (fade) {
spans[i].style.background = peekaboo_bgcolor;
Effect.Fade(spans[i]);
} else spans[i].style.display = 'none';
}
if (spans[i].id == "showlink")
spans[i].style.display = 'inline';
if (spans[i].id == "hidelink")
spans[i].style.display = 'none';
}
post.scrollIntoView(true);
}

function checkFull(id) {
var post = document.getElementById(id);
var spans = post.getElementsByTagName('span');
var found = 0;
for (var i = 0; i &lt; spans.length; i++) {
if (spans[i].id == "fullpost") {
spans[i].style.display = 'none';
found = 1;
}
if ((spans[i].id == "showlink") &amp;&amp; (found == 0))
spans[i].style.display = 'none';
}
}
&lt;/script&gt;


STEP2:找到以下這段程式碼,增加紅字的區塊。

<b:includable id='post' var='post'>
<div class='post' expr:id='"post-" + data:post.id'>
<a expr:name='data:post.id'/>


Step3:尋找以下程式碼,也同增加紅字的區塊。

&lt;div class='post-header-line-1'/&gt;
&lt;div class='post-body'&gt;
&lt;b:if cond='data:blog.pageType == "item"'&gt;
&lt;p&gt;&lt;data:post.body/&gt;&lt;/p&gt;
&lt;b:else/&gt;
&lt;style&gt;#fullpost {display:none;}&lt;/style&gt;
&lt;p&gt;&lt;data:post.body/&gt;&lt;/p&gt;
&lt;span id='showlink'&gt;
&lt;p&gt;&lt;a href='javascript:void(0);'
expr:onclick='"javascript:showFull(\"post-" +
data:post.id + "\");"'&gt;[+/-] Read More...&lt;/a&gt;&lt;/p&gt;
&lt;/span&gt;
&lt;span id='hidelink' style='display:none'&gt;
&lt;p&gt;&lt;a href='javascript:void(0);'
expr:onclick='"javascript:hideFull(\"post-" +
data:post.id + "\");"'&gt;[+/-] Summary only...&lt;/a&gt;&lt;/p&gt;
&lt;/span&gt;
&lt;script type='text/javascript'&gt;
checkFull("post-" + "&lt;data:post.id/&gt;");
&lt;/script&gt;
&lt;/b:if&gt;
&lt;div style='clear: both;'/&gt; &lt;!-- clear for photos floats --&gt;&lt;/div&gt;

※若要變更"顯示文字",請自行更改STEP3的文字標籤
※
"[+/-] Read More..."&"[+/-] Summary only..."

STEPp4:基本上大功告成~~!
   最後登入Blogger,再到「Settings->Formatting」,將
<span id="fullpost"> 想要隱藏的部分 </span>
填入Formatting框框裡即可,以後張貼新文章都會有該程式碼!!

參考文獻:Kaie`s Blog

沒有留言:

張貼留言