W i S T E R I A

B O A R D
 
●新規 ●トレリス表示 ●一覧表示 ●ログ検索 ●ヘルプ ●ホームへ
●選択した記事の表示・返信・修正・削除
ツリーメニューで全展開のボタンをつけたい <cat> 08/06 (18:11) 87
 └ Re1:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/06 (18:50) 88 admin
 └ Re2:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/06 (20:32) 90 admin
 └ Re3:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/06 (22:35) 94 admin
 └ Re4:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/07 (07:18) 95 admin
 └ Re5:ツリーメニューで全展開のボタンをつけ... <cat> 08/08 (22:12) 96
 └ Re6:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/09 (11:41) 97 admin
 └ Re7:ツリーメニューで全展開のボタンをつけ... <cat> 08/09 (13:07) 98
 └ Re8:ツリーメニューで全展開のボタンをつけ... <cat> 08/09 (13:42) 99
 └ Re9:ツリーメニューで全展開のボタンをつけ... <ごだっち> 08/09 (16:41) 100 admin
 └ Re10:ツリーメニューで全展開のボタンをつ... <ごだっち> 08/09 (17:01) 101 admin
 └ Re11:ツリーメニューで全展開のボタンをつ... <cat> 08/09 (20:37) 102
 └ Re12:ツリーメニューで全展開のボタンをつ... <ごだっち> 08/09 (21:34) 103 admin
 └ Re13:ツリーメニューで全展開のボタンをつ... <cat> 08/09 (22:53) 104

94
Re3:ツリーメニューで全展開のボタンをつけたい by ごだっち 2004/08/06 (Fri) 22:35
view
admin
 
とりあえず作りかけだし、きっと無駄な再帰処理が含まれていると思うのだけれど、こんな感じで行けると思う。

閉じるほうは未だ作っていないので、リロードで試してみてください。
また、チェックボックスをオフにすると、最初の階層しか展開されません。
デフォルトのオン状態のときは、子がある限り再帰的に展開メニューを呼びにいくので、全部展開されます。

<html>
<head>
<style type="text/css">
<!--
body{
font-size:24px;
}
.M1{
margin-left:1em;
font-size:1.0em;
display:block;
}
.M2{
margin-left:3em;
font-size:0.8em;
display:none;
}
.M3{
margin-left:5em;
font-size:0.8em;
display:none;
}
.M4{
margin-left:7em;
font-size:0.8em;
display:none;
}
-->
</style>
<script type="text/javascript">
<!--
var oobj;
var flg;
function kept(obj){
flg = document.getElementById("extract").checked;
toplevel = obj.id.length;
// alert(toplevel);
ext(obj);
}
function ext(obj){
if(obj){
if(obj.style.display=="none"){
obj.style.display="block";
}
if(obj.childNodes){
pid = obj.id;
// alert("pid "+pid);
for(i=1;5>i;i++){
cid = pid + "-" + i;
cobj = document.getElementById(cid);
if(cobj){
// alert("cid "+cid);
cobj.style.display="block";
if(flg){
ext(cobj);
}
} else {
oid = obj.id;
len = oid.length -1;
pid = oid.substr(0,len);
opn = oid.substr(len,oid.length) -0;
opn = opn + 1;
npid = pid + opn;
// alert("npid "+ npid);
npobj = document.getElementById(npid);
if(npobj){
if(flg){
ext(npobj);
}
}
}
}
// alert("len " + obj.id.length);
if( obj.id.length > toplevel ){
onum = obj.id.substr(obj.id.length - 1,obj.id.length) - 0;
onum = onum + 1;
nid = obj.id.substr(0,obj.id.length - 1) + onum;
// alert("nid "+nid);
npobj = document.getElementById(nid);
if(npobj){
if(flg){
ext(npobj);
}
}
}
}
}
}
//-->
</script>
</head>
<body>
<input type="checkbox" id="extract" checked>
<div id="m1" class="M1" onclick="kept(this);">
Menu.1
<div id="m1-1" class="M2" style="display:none;">
Menu.1-1
<div id="m1-1-1" class="M3" style="display:none;">
Menu.1-1-1
<div id="m1-1-1-1" class="M4" style="display:none;">
Menu.1-1-1-1
</div>
<div id="m1-1-1-2" class="M4" style="display:none;">
Menu.1-1-1-2
</div>
</div>
<div id="m1-1-2" class="M3" style="display:none;">
Menu.1-1-2
<div id="m1-1-2-1" class="M4" style="display:none;">
Menu.1-1-2-1
</div>
<div id="m1-1-2-2" class="M4" style="display:none;">
Menu.1-1-2-2
</div>
</div>
<div id="m1-1-3" class="M3" style="display:none;">
Menu.1-1-3
<div id="m1-1-3-1" class="M4" style="display:none;">
Menu.1-1-3-1
</div>
</div>
<div id="m1-1-4" class="M3" style="display:none;">
Menu.1-1-4
<div id="m1-1-4-1" class="M4" style="display:none;">
Menu.1-1-4-1
</div>
<div id="m1-1-4-2" class="M4" style="display:none;">
Menu.1-1-4-2
</div>
<div id="m1-1-4-3" class="M4" style="display:none;">
Menu.1-1-4-3
</div>
</div>
</div>
<div id="m1-2" class="M2" style="display:none;">
Menu.1-2
<div id="m1-2-1" class="M3" style="display:none;">
Menu.1-2-1
</div>
<div id="m1-2-2" class="M3" style="display:none;">
Menu.1-2-2
</div>
</div>
</div>
<div id="m2" class="M1" onclick="kept(this);">
Menu.2
<div id="m2-1" class="M2" style="display:none;">
Menu.2-1
<div id="m2-1-1" class="M3" style="display:none;">
Menu.2-1-1
</div>
<div id="m2-1-2" class="M3" style="display:none;">
Menu.2-1-2
</div>
</div>
<div id="m2-2" class="M2" style="display:none;">
Menu.2-2
<div id="m2-2-1" class="M3" style="display:none;">
Menu.2-2-1
</div>
<div id="m2-2-2" class="M3" style="display:none;">
Menu.2-2-2
</div>
</div>
</div>
</body>
</html>
pass>>


選択した記事にこのフォームで返信します。
name
url
mail
title
mesage
pass