シンプルな CSS と Javascript のドロップダウン メニューを作成するために、このコードを作成しました。
HTML:
<li><a href="#" onmouseover="showRanksSubmenu()" onmouseout="hideRanksSubmenu()">XYZ</a>
<ul id="rankSubMenu" onmouseover="showRanksSubmenu()" onmouseout="hideRanksSubmenu()">
<li><a href="#" style="position: absolute; top: 12px;">AAA</a></li>
<li><a href="#" style="position: absolute; top: 50px;">BBB</a></li>
<li><a href="#" style="position: absolute; top: 88px;">CCC</a></li>
</ul>
</li>
CSS:
#rankSubMenu {
display: none;
position: absolute;
bottom: 10px;
left: 278px;
}
JS:
function showRanksSubmenu() {
document.getElementById('rankSubMenu').style.display = 'block';
}
function hideRanksSubmenu() {
document.getElementById('rankSubMenu').style.display = 'none';
}
もちろん、メニュー項目には、ボタンのように見せるための高さ、背景、その他のものがあります。問題は、このボタンの間に (数ピクセルのような) 空きスペースがあり、ユーザーがそこにマウス カーソルを止めると、メニューが消えることです (実際、カーソルを非常に速く動かさない限り、メニューは常にそうなります)。この領域全体を div として定義しようとしたり、考えた他のアイデアを試したりしましたが、成功しませんでした。どうすればこれを解決できますか?