TOP /このページのJavaScript | ツリーメニュー(cookie) |
---|
cookieによりページを閉じる前の状態を保存して
次に開いたときに閉じる前の状態を再現します。(cookieは1日有効)
0親メニュー1
-----ここまでをHEAD内にコピー-----<style type=text/css><!-- LI { list-style-type:none; } A { text-decoration:none; } A span{font-family:wingdings;} dir span{font-family:wingdings;} --></style> <script type="text/javascript" ><!-- theName="test_menu="; //cookie名を変更 S_Array=new Array("treeMenu1"); //初めに表示するID名 ,"ID名" と増やします d_Array=S_Array; function MyMenu_set(){ if(document.all) menu_obj=document.all.tags("div"); else menu_obj=document.getElementsByTagName("div"); for(i=0;i<menu_obj.length;i++){ if(menu_obj[i].className=="display_none") menu_obj[i].style.display="none"; } theCookie=document.cookie+";"; start=theCookie.indexOf(theName); if(start !=-1){ end=theCookie.indexOf(";",start); theData=unescape(theCookie.substring(start+theName.length,end)); d_Array=theData.match(/[^,]+/g); } if(d_Array=="all_none"){ d_Array=new Array(); return; } try { for(i=0;i<d_Array.length;i++){ if(document.all){ document.all(d_Array[i]).style.display="block"; document.all("f_"+d_Array[i]).innerHTML="1"; }else{ document.getElementById(d_Array[i]).style.display="block"; document.getElementById("f_"+d_Array[i]).innerHTML="1"; } } }catch(e) {d_Array=new Array();} } function MyMenu(tName){ j=0; if(document.all){ tMenu=document.all(tName).style; Icon=document.all("f_"+tName); }else{ tMenu=document.getElementById(tName).style; Icon=document.getElementById("f_"+tName); } if(tMenu.display=='none'){ tMenu.display="block"; Icon.innerHTML="1"; for(i=0;i<d_Array.length;i++){if(tName==d_Array[i])j++;} if(!j)d_Array.push(tName); }else{ tMenu.display="none"; Icon.innerHTML="0"; for(i=0;i<d_Array.length;i++){if(tName==d_Array[i])j=i;} d_Array.splice(j, 1); } } function MyMenu_close(){ myData="";setDay=new Date(); myData=(!d_Array.length)?"all_none":d_Array.join(","); setDay.setTime(setDay.getTime()+(1*1000*60*60*24)); document.cookie=theName+escape(myData)+";expires="+setDay.toGMTString(); } function firstMenu(){ setDay=new Date();myData=""; d_Array=S_Array; myData=(!d_Array.length)?"all_none":d_Array.join(","); setDay.setTime(setDay.getTime()+(1*1000*60*60*24)); document.cookie=theName+escape(myData)+";expires="+setDay.toGMTString(); location.reload(true); }/* himajin.moo.jp */ // --></script>
-----ここから下を修正してBODY内に記述してください------<body onload="MyMenu_set()"onUnload="MyMenu_close()">
<a href="JavaScript:MyMenu('treeMenu1')"><span id="f_treeMenu1">0</span>親メニュー1</a><br> <div id="treeMenu1"class="display_none"> <dir> <a href="JavaScript:MyMenu('koMenu1')"><LI><span id="f_koMenu1">0</span>子メニューNo1</a> <div id="koMenu1"class="display_none"> <dir> <LI><span>4</span>孫メニューNo1 <LI><span>4</span>孫メニューNo2 </dir> </div> <a href="JavaScript:MyMenu('koMenu2')"><LI><span id="f_koMenu2">0</span>子メニューNo2</a> <div id="koMenu2"class="display_none"> <dir> <LI><span>4</span>孫メニューNo1 <LI><span>4</span>孫メニューNo2 <LI><span>4</span>孫メニューNo3 </dir> </div> <a href="JavaScript:MyMenu('koMenu3')"><LI><span id="f_koMenu3">0</span>子メニューNo3</a> <div id="koMenu3"class="display_none"> <dir> <LI><span>4</span>孫メニューNo1 <LI><span>4</span>孫メニューNo2 <LI><span>4</span>孫メニューNo3 </dir> </div> <LI><span>4</span>子メニューファイル </dir> </div>