以下の内容はhttp://10plate.blog44.fc2.com/blog-entry-168.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"><!--
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>'+p[0]+'</b></p>';
I=I+'<ul>';
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>




【ツリー化の手順】
アイコン付きツリー化カテゴリーと同様です。C[n]を編集します。

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

この場合1番目と2番目にあったリンクが『グループA』、3番目と4番目にあったリンクが『グループB』としてツリー化されます。C[3],C[4]…と好きなだけ追加してください。

【アイコン画像設定】
アイコン画像は各リンクごとに自由に変えられます。icon[n]を編集します。

/* ■アイコン画像URL */
icon[1] = "http://~/A.gif";
icon[2] = "http://~/B.gif";

icon[1]に設定したアイコン画像A.gifは、C[1]のアイコンとして表示されます。これもicon[3],icon[4]…と好きなだけ追加してください。

【行間を変えたい】
グループ(ツリー)内の行間を変更したい場合

#ILI li {
background-repeat: no-repeat;
list-style-type:none;
list-style-image: none;
margin:0;
padding:2px 0;
}


グループ(ツリー)同士の間を変更したい場合

#ILI ul {
margin:2px 0 4px;
padding:0;
}

この赤い数値をお好みの間隔になるように設定してください。

【管理者ページへのリンクが必要ない場合】
リンクの一番下にある『管理者ページ』が必要なければこの部分を削除してください。

<li><a href="./?admin">管理者ページ</a></li>



【2009/08/27 追記】
【グループの大見出しの色を個別に変えたい】

/* ■ツリー化設定 */
C[1]="グループA,1,2";
C[2]="グループB,3,4";
/* ■見出しの色設定 */
var col=new Array(); var r=1;
col[1]="#ff0000";
col[2]="#0000ff";

/* ■アイコン画像URL */

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 style="color:'+col[r++]+'">'+p[0]+'</b></p>';

この赤い部分の記述を加えてください。col[1]の色がC[1]の見出しの色に対応しています。
col[2],col[3]…と増やしてそれぞれの見出しの色を個別に設定できます。


【関連記事】
関連記事



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

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