ツリーメニューの子メニューの位置について

[統計] HTMLからXHTMLへの移行を進めていますか?



0   名前: 青木 : 2006/12/25(月) 07:21  ID:szn5XBYK
親メニュー1
親メニュー2
親メニュー3
親メニュー4

とあったとして、
どの親メニューを押しても子メニューを↓の位置に出させる方法はありますか?
(全部の親メニューの一番下に子メニューを出したいです)

親メニュー1
親メニュー2
親メニュー3
親メニュー4
子メニュー

1   名前: miz : 2006/12/25(月) 07:21  ID:Y5nxmOvJ
表示したいところに置いた子メニューに対して、
document.getElementById("child_id").style.display = "block";
document.getElementById("child_id").style.display = "none";
を切り換えればよいと思いますけど。
JavaScriptについてどのくらい解ってるのでしょうか?

2   名前: 匿名 : 2006/12/25(月) 07:21  ID:5m2bGK6y
CSS で位置調節すれば良いだけだと思う(もしスクリプトが、ページスタイルに変な風に干渉しないよう作られているならば)。

3   名前: 青木 : 2006/12/25(月) 07:21  ID:szn5XBYK
えと、支援サイトからコピーしたのを少しいじったくらいなのでJavaはあまりよく理解はしてません;
今はスタイルはこんなのです↓

<style type=text/css><!--
/*メニューのスタイル*/
td.main{
width:130px; 
background-color:#ffffff;
color:#000000;
font: bold 10pt Times New Roman;
text-indent:5px;
cursor:hand;
}
/*サブメニューのスタイル*/
td.sub{
/*border:#cccccc solid 1px;*/
background-color:#ffffff;
font-size:10pt;
position:relative;
left:10px;
}
.sub div{display:none;}
/*リンクのスタイル*/
.sub div A:link{text-decoration:none;width:100%;color:#555555;display:block;}
.sub div A:visited{text-decoration:none;width:100%;color:#555555;display:block;}
.sub div A:hover{
  color:#ffffff;text-decoration:none;width:100%;
  background-color:#33ccff;display:block;}

--></style>
<script language=JavaScript ><!--
chMenu=0;subMenu=0;
function subopen(tName){
tMenu=(document.all)?document.all(tName).style:document.getElementById(tName).style;
if(tName.substring(0, 3)!="sub"){
  if(chMenu)chMenu.display="none";
  if(subMenu){subMenu.display="none";subMenu=0;}
  if(chMenu==tMenu){chMenu=0;}
  else{chMenu=tMenu;
  tMenu.display="block";}
}else{
  if(subMenu)subMenu.display="none";
  if(subMenu==tMenu){subMenu=0;}
  else{subMenu=tMenu;
  tMenu.display="block";}
}
}/* himajin.moo.jp */
// --></script>


<table cellspacing=0 cellpadding=0>
<tr><td class="main" onClick="subopen('menu1')">親メニュー
</td></tr><tr>
<td class="sub"><div ID="menu1">
<a href="">子メニュー</a>
</div></td></tr></table>

<table cellspacing=0 cellpadding=0>
<tr><td class="main" onClick="subopen('menu2')">親メニュー
</td></tr><tr>
<td class="sub"><div ID="menu2">
<a href="">子メニュー</a>
</div></td></tr></table>


4   名前: 牛若 : 2006/12/25(月) 07:21  ID:8EooqZJG
ちょっと>>3のコードを目で追っただけなんですが、これで
tName.substring(0, 3)!="sub"
が真になることがあるのかな。目的の動作をさせるだけなら
もっとシンプルにできる気がする。

5   名前: 青木 : 2006/12/25(月) 07:21  ID:szn5XBYK
えええ本当ですかっ?
このページ結構重たいのでシンプルにできるなら嬉しいですv

一覧へ戻る