以下の内容はhttp://10plate.blog44.fc2.com/blog-entry-219.htmlより取得しました。


アイコン付きツリー化リンクをグループで折りたたむ

以前に『アイコン付きツリー化リンク』を紹介しましたが、このアイコン付きツリー化リンクをグループで折りたたみ可能にする方法を紹介します。

プラグインHTMLを編集します。

<style type="text/css" media="all">
<!--
#ILI p {
margin: 4px 0 2px;
}
#ILI ul {
margin:2px 0 4px;
padding:0;
}
#ILI li {
background-repeat: no-repeat;
list-style-type:none;
list-style-image: none;
margin:0;
padding:2px 0;
}
#ILI li.branch {
background-image: url(http://blog-imgs-19.fc2.com/1/0/p/10plate/branch.gif); /*ツリー画像 */
padding-left:20px;
}
#ILI li.branch_end {
background-image: url(http://blog-imgs-19.fc2.com/1/0/p/10plate/branch_end.gif); /*ツリー画像(最後尾) */
padding-left:20px;
}
//-->
</style>

<div class="tree" id="ILI">
<ul>
<!--link-->
<li &align><a href="<%link_url>" title="<%link_name>" target="_blank"><%link_name></a></li>
<!--/link-->
<li><a href="./?admin">管理者ページ</a></li>
</ul>
</div>

<script type="text/javascript"><!--
function ilw(num) {
if(document.getElementById) {
if (document.getElementById('ilu'+ num ).style.display=='block') {
document.getElementById('ilu'+ num ).style.display='none';} else {
document.getElementById('ilu'+ num ).style.display='block';}}}
--></script>


<script type="text/javascript"><!--
var A=document.getElementById('ILI').getElementsByTagName('A');
var C=new Array(); var icon=new Array(); var n=1; I="";

/* ■ツリー化設定 */
C[1]="グループA,1,2";
C[2]="グループB,3,4";

/* ■アイコン画像URL */
icon[1] = "http://blog44.fc2.com/image/e/180.gif";
icon[2] = "http://blog44.fc2.com/image/e/181.gif";
icon[3] = "http://blog44.fc2.com/image/e/182.gif";
icon[4] = "http://blog44.fc2.com/image/e/183.gif";
icon[5] = "http://blog44.fc2.com/image/e/184.gif";
icon[6] = "http://blog44.fc2.com/image/e/185.gif";
icon[7] = "http://blog44.fc2.com/image/e/186.gif";
icon[8] = "http://blog44.fc2.com/image/e/187.gif";
icon[9] = "http://blog44.fc2.com/image/e/188.gif";

for (i=1;i<C.length;i++){ p=C[i].split(','); l=p.length; if(l>1){
I=I+'<p><img src='+icon[n++]+' align="absmiddle" border="0"> <b><a href="javascript:onclick=ilw('+i+')">'+p[0]+'</a></b></p>';
I=I+'<ul id="ilu'+i+'" style="display:none">';
for (k=1;k<l;k++){ q=p[k]-1;
if(k==l-1) {I+='<li class="branch_end"><a href="'+A[q].href+'" title="'+A[q].innerHTML+'" target="_blank" >'+A[q].innerHTML+'</a></li>'; A[q].title="-";}
else {I+='<li class="branch"><a href="'+A[q].href+'" title="'+A[q].innerHTML+'" target="_blank" >'+A[q].innerHTML+'</a></li>'; A[q].title="-";}
} I+='</ul>';
} }
for (i=0;i<A.length;i++){if (A[i].title!="-") {
p= A[i].innerHTML.split('&nbsp;');
I+='<ul><li><img src='+icon[n++]+' align="absmiddle" border="0"> <a href="'+A[i].href+'" title="'+p[0]+'" target="_blank" >'+p[0]+'</a></li></ul>';
} }
document.getElementById('ILI').innerHTML=I;
--></script>


赤い記述がオリジナルから新たに加わった部分です。
初期状態で展開した状態にしておきたい場合は noneblock としてください。

【2009/08/23 追記】
全てを一度に開閉したい場合は、そのリンクを表示させたい箇所に以下を加えてください。

<script type="text/javascript"><!--
function ilwo(num) {
if(document.getElementById) {document.getElementById('ilu'+ num ).style.display='block';}}
function ilwc(num) {
if(document.getElementById) {document.getElementById('ilu'+ num ).style.display='none';}}
--></script>

<a href="javascript:onclick=ilwo('1'); ilwo('2'); ilwo('3'); ">全て開く</a>
<a href="javascript:onclick=ilwc('1'); ilwc('2'); ilwc('3'); ">全て閉じる</a>


グループの数だけ
ilwo('4'); ilwo('5'); ilwo('6'); ・・・
ilwc('4'); ilwc('5'); ilwc('6'); ・・・
と増やしてください。
関連記事
[ 2009/06/03 22:06 ] 共有プラグイン | TB(0) | CM(7)



以上の内容はhttp://10plate.blog44.fc2.com/blog-entry-219.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13