サンプルです。
------------------------------------------------------
<html>
<head>
<script type="text/javascript" language="JavaScript">
<!--
// メニューの表示/非表示の切り替え
function pdMenu(mName) {
// NN4以前(この処理は合っているか分かりません)
if((document.layers) && (navigator.appName == "Netscape") && (parseInt(navigator.appVersion) < 5)) {
// <!-- 合っているか不明
if(! document.layers[mName]) return false;
var Menu = document.layers[mName];
Menu.display = (Menu.display == 'none'?'block':'none');
return true;
// 合っているか不明 -->
// NN6,IE5
} else if(document.getElementById) {
if(! document.getElementById(mName)) return false;
var Menu = document.getElementById(mName);
// IE4
} else if(document.all) {
if(! document.all[mName]) return false;
var Menu = document.all[mName];
}
Menu.style.display = (Menu.style.display == 'none'?'block':'none');
return true;
}
// --></script>
</head>
<body>
<div style="cursor:pointer;" onMouseover="pdMenu('Menu1')" onMouseout="pdMenu('Menu1')">大メニュー1
<div id="Menu1" style="display:none;">
<a href="" >中メニュー1</a><br>
<a href="">中メニュー2</a><br>
<a href="" >中メニュー3</a><br>
</div>
</div>
<div style="cursor:pointer;" onMouseover="pdMenu('Menu2')" onMouseout="pdMenu('Menu2')">大メニュー2
<div id="Menu2" style="display:none;">
<a href="" >中メニュー1</a><br>
<a href="">中メニュー2</a><br>
<a href="" >中メニュー3</a><br>
</div>
</div>
<div style="cursor:pointer;" onMouseover="pdMenu('Menu3')" onMouseout="pdMenu('Menu3')">大メニュー3
<div id="Menu3" style="display:none;">
<a href="" >中メニュー1</a><br>
<a href="">中メニュー2</a><br>
<a href="" >中メニュー3</a><br>
</div>
</div>
</body>
</html>
------------------------------------------------------
※見やすくするために全角スペースでインデントしているので
このままでは動きません。
全角スペースを半角スペース2個に変換して下さい。
NN4以前の処理については合っているか分かりません^^;
間違っているようでしたら直してください。
また、マウスオーバー/アウトでは、次のようなことが起こります。
-------------
大1
中1
中2
大2
中1
中2
中3
大3
中1
-------------
などのように上の大メニューより下の大メニューの中メニューが少ないとき、
大2から大3にマウスを動かすと大3の中メニューが表示されず、
閉じている状態になります。
これはメニューの数の縦幅による違いです。
使い勝手が悪いようでしたらマウスオーバー/アウトでの表示/非表示ではなく、
マウスクリック時の切り替えにしたほうがよいかもしれません。
> <div style="cursor:pointer;" onMouseover="pdMenu('Menu')" onMouseout="pdMenu('Menu')">大メニュー
<div style="cursor:pointer;" onClick="pdMenu('Menu')">大メニュー
マウスオーバー/アウトで表示/非表示を切り替えるものは一般的に
大メニュー1|大メニュー2|大メニュー3|・・・
といった横メニューが多い気がします^^;
大メニュー1
大メニュー2
・
・
というものは私が紹介したサイトのようにクリック時の方がいいかもしれませんね。
ただ、これは好みの問題ですので、kaduyoさんが思ったようにすればいいと思います(@^-^@)
お礼
papillon68様 会社からの投稿であるため、土日で間があいてしまい、お返事が遅れました。すみません。 ご多忙にもかかわらず、スクリプトと解説をお書きいただいたのですね。本当に頭が下がります。ありがとうございました。 早速試してみます。