開關型隱藏語法

原理

  • 透過 Html 的 Div 標籤屬性 style="display:none" 做到。

Html code 範例

  • 注意:javascript 那段放在 <head> 或 <body> 都有效
<script type="text/javascript">
function showtext(ida){
   var msg=document.getElementById(ida);
   if(msg.style.display=="none"){
     msg.style.display="";
   }
   else {msg.style.display="none";};
};
</script>

<a href ="#" onclick="showtext('test_自訂DIV ID名稱');">按我</a>

<div id="test_自訂DIV ID名稱" style="display:none">隱藏本文</div>

Discuz 自訂標籤化

把它改成 Discuz 自訂碼如下(要有論壇系統修改權限)

  • 標籤:hidediv *(這部份可以隨意自訂,僅關係到論壇使用明)
  • 替換內容
<script type="text/javascript">
function showtext(ida){
   var msg=document.getElementById(ida);
   if(msg.style.display=="none"){
     msg.style.display="";
   }
   else {msg.style.display="none";};
};
</script>

<a href ="#" onclick="showtext('{1}');">{1}</a>

<div id="{1}" style="display:none">{2}</div>
  • 例子:[hidediv=標題]內文[/hidediv]
  • 解釋:開關式隱藏功能,按一下就可以看到隱藏內容
  • 參數個數:2
  • 參數提示用語:
標題:(輸入想輸入的提示字)
本文:
  • 嵌套次數:1

Discuz 修改方法

登入 Discuz 後台,通常網址為「論壇/admincp.php」。
到後台點選,「帖子」→「Discuz! 代碼」。
以 Discuz 6.1 來說,點選上排選項的「帖子」,及左選單的「Discuz! 代碼」。

但是用於 Discuz 的話有個小 Bug...
這種 Discuz 自訂寫法會有一個類似 BUG 的問題

有重複標籤出現再同一個帖子串的時候
點下去
相同的隱藏標題內容
只有第一串內容會被打開 囧

寫文的要刻意避開使用重覆的顯示標題
不然後面的隱藏會開不了

非 Discuz 標籤而直接下 Html 不會有此問題
因為直接下 Html 基本上不會用同樣的 DIV 標籤 ID
這邊也要請使用的網友注意
不要讓不同區域的 DIV 標籤 ID 重複
不然控制顯示 / 關閉會出問題唷~

重複 ID 的時候,只有文章最上面的那個被控制
後面重複出現的都控制不到喔!
最終更新:2009年05月14日 08:43