<html>
<head>
<style>
body { font-size:10pt; }
</style>
<script>
/* 最上位の文字列 */
title = "ホーム";
/* 左余白 */
l_mgn = 0;
/* 改行幅 */
offset_height = 16;
/* ターゲットウィンドウ */
tgt = "_blank";
/* ツリーに表示する項目
list[x] = "1,2,3";
1.所属する親フォルダの番号 [x](最初から表示しておく項目は空白に)
2.表示する名前
3.リンク先 (空白の場合はフォルダとして扱う)
上の階層から順番に記述すること(記述する順番も重要)
*/
list = new Array();
list[0] = ",親リスト1";
list[1] = "0,親リスト1-1";
list[2] = "1,親リスト1-1-1";
list[3] = "2,link:1-1-1-1,1-1-1-1.html";
list[4] = "2,link:1-1-1-2,1-1-1-2.html";
list[5] = "2,link:1-1-1-3,1-1-1-3.html";
list[6] = "1,link:1-1-1,1-1-1.html";
list[7] = "1,link:1-1-2,1-1-2.html";
list[8] = "1,link:1-1-3,1-1-3.html";
list[9] = "0,親リスト1-2";
list[10] = "9,link:1-2-1,1-2-1.html";
list[11] = "9,link:1-2-2,1-2-2.html";
list[12] = "9,link:1-2-3,1-2-3.html";
list[13] = ",親リスト2";
list[14] = "13,親リスト2-1"
list[15] = "14,link:2-1-1,2-1-1.html";
list[16] = "14,link:2-1-2,2-1-2.html";
list[17] = "14,link:2-1-2,2-1-3.html";
list[18] = "13,親リスト2-2"
list[19] = "18,link:2-2-1,2-2-1.html";
list[20] = "18,link:2-2-2,2-2-2.html";
list[21] = "18,link:2-2-3,2-2-3.html";
/* イメージ設置ディレクトリ */
dir = "./";
/* Icon for Win */
home_win = dir + "home_win.gif";
close_win = dir + "close_win.gif"
open_win = dir + "open_win.gif";
list_win = dir + "list_win.gif";
/* Icon for Mac */
home_mac = dir + "home_mac.gif";
close_mac = dir + "close_mac.gif"
open_mac = dir + "open_mac.gif";
list_mac = dir + "list_mac.gif";
/* イメージ属性 */
img_parm = "width=16 height=16 align=absmiddle";
if (navigator.userAgent.match(/mac/i)) {
ico_home = home_mac;
ico_close = close_mac;
ico_open = open_mac;
ico_list = list_mac
}
else {
ico_home = home_win;
ico_close = close_win;
ico_open = open_win;
ico_list = list_win
}
img_close = new Image();
img_close.src = ico_close;
img_open = new Image();
img_open.src = ico_open;
N4 = IE = N6 = 0;
if (document.layers) N4 = 1;
else if (document.all) IE = 1;
else if (document.getElementById) N6 = 1;
def = new Array('');
cmv = new Array();
for (i in list) {
d = list[i].split(",");
if (d[0] == '') def = def.concat(i);
if (! d[2]) cmv[i] = new Array();
}
function line_print(p) {
return "<img src='" + dir + "line" + p + ".gif'" + img_parm + ">";
}
function lay_print(p,val,link) {
if (val == title) {
bd = "";
val = "<img src='" + ico_home + "' " + img_parm + "> " + val;
}
else if (link) {
val = "<img src='" + ico_list + "' " + img_parm + "> "
+ "<a href='" + link + "' target='" + tgt + "'>" + val + "</a>";
}
else if (N4) {
val = "<img name=pos" + p + " src='" + ico_close + "' " + img_parm + "> " + val;
}
else {
val = "<span onClick='menu_open(" + p + ")'><img name=pos" + p
+ " src='" + ico_close + "'" + img_parm + "> " + val + "</span>";
}
if (N4) lay = "<layer name=menu" + p + " left=" + l_mgn
+ " visibility=hidden> " + bd + val + "</layer><br>";
else lay = "<div id=menu" + p + " style='position:absolute; left:" + l_mgn
+ "px; top:0px; visibility:hidden;'> " + bd + val + "</div>";
return lay;
}
menu_list = "<tt><nobr>" + lay_print('',title);
function menu_print () {
for (i in list) {
bd = "";
pl = list[i].split(",");
lx = new Array(pl[0]);
if (pl[0] == '') {
if (i == def[def.length-1]) bd += line_print(3);
else bd += line_print(1);
}
else {
x = pl[0];
while (x != '') {
x = list[x].split(",");
x = x[0];
if (x != '') lx = lx.concat(x);
}
lx = lx.reverse();
for (ii in lx) {
x = list[lx[ii]].split(",");
x = x[0];
if (x == '' && lx[ii] != def[def.length-1]) bd += line_print(2);
else if (x == '' || lx[ii] == cmv[x][cmv[x].length-1])
bd += line_print(0);
else bd += line_print(2);
}
x = pl[0];
if (i == cmv[x][cmv[x].length-1]) bd += line_print(3);
else bd += line_print(1);
}
if (! pl[2]) {
for (ii in list) {
t = list[ii].split(",");
if (eval(t[0]) == i) cmv[i] = cmv[i].concat(ii);
}
}
menu_list += lay_print(i,pl[1],pl[2]);
}
menu_list += "</nobr></tt>";
document.write(menu_list);
if (N4) { defY = offY = document.layers["menu0"].pageY; vis = "show"; }
else { defY = offY = offset_height; vis = "visible"; }
for (i in def) {
if (N4) doc = document.layers["menu" + def[i]];
if (IE) doc = document.all("menu" + def[i]).style;
if (N6) doc = document.getElementById("menu" + def[i]).style;
with (doc) {
visibility = vis;
top = offY;
}
offY += offset_height;
}
}
function menu_open(p) {
if (N4) {
p = eval(this.name.replace("menu",""));
doc = document.layers["menu" + p];
dis = doc.document.images["pos" + p];
offY = doc.pageY;
}
else dis = document.images["pos" + p];
if (IE) {
doc = document.all("menu" + p);
offY = doc.style.posTop;
}
if (N6) {
doc = document.getElementById("menu" + p);
offY = parseInt(doc.style.top);
}
if (dis.src.indexOf(img_close.src) > -1) {
dis.src = img_open.src;
for (i in cmv[p]) {
offY += offset_height;
if (N4) doc = document.layers["menu" + cmv[p][i]];
if (IE) doc = document.all("menu" + cmv[p][i]).style;
if (N6) doc = document.getElementById("menu" + cmv[p][i]).style;
with (doc) {
visibility = vis;
top = offY;
}
}
}
else {
end = cmv[p];
limit = 0;
dis.src = img_close.src;
for (i in cmv[p]) if (cmv[cmv[p][i]]) end = end.concat(cmv[cmv[p][i]]);
if (cmv[end[end.length-1]]) end = end.concat(cmv[end[end.length-1]]);
for (i = 0; i < end.length; i++) limit = Math.max(limit,end[i]);
for (i = p+1; i <= limit; i++) {
if (N4) {
doc = document.layers["menu" + i];
dis = doc.document.images["pos" + i];
}
else dis = document.images["pos" + i];
if (IE) doc = document.all("menu" + i).style;
if (N6) doc = document.getElementById("menu" + i).style;
if (dis) dis.src = img_close.src;
with(doc) { visibility = "hidden"; top = 0; }
}
}
for (i = eval(cmv[p][cmv[p].length-1]) + 1; i < list.length; i++) {
if (N4) doc = document.layers["menu" + i];
if (IE) doc = document.all("menu" + i).style;
if (N6) doc = document.getElementById("menu" + i).style;
if (doc.visibility == vis) {
offY += offset_height;
doc.top = offY;
}
}
}
function init() {
for (i in list) {
t = list[i].split(",");
if (! t[2]) {
doc = document.layers["menu" + i];
doc.captureEvents(Event.MOUSEDOWN);
doc.onmousedown = menu_open;
}
}
}
if (document.layers) window.onload = init;
// Copyright (C) 2002-2002 suepon , All rights reserved.
// Script found at http://suepon.com/
</script>
</head>
<body>
<script>
menu_print();
</script>
</body>
</html>
|