我编写了这段代码来创建简单的 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 或尝试我想到的任何其他想法,但没有成功。有什么建议我该如何解决?