【发布时间】:2026-02-17 09:20:06
【问题描述】:
我正在尝试构建一个按钮(下面给出的代码中的#nav_float_menu_button),当鼠标移到它上面时会绘制一个菜单。到目前为止,一切都很好 - 但是当我尝试离开 Item#1 并下降到 Item#2 或更低时,菜单消失了。
如何让菜单在鼠标移出其区域之前一直停留在屏幕上?
<div id="nav_float_menu" style="position:absolute;top:2px;right:30px;display:none;z-index:1400;border-style:solid" onmouseover="keepShowing()" onmouseout="hideMenu()">
<input type=button class=SignBtn style="width:15em;border-radius:15px" value="Item1"><br>
<input type=button class=SignBtn style="width:15em;border-radius:15px" value="Item2" ><br>
<input type=button class=SignBtn style="width:15em;border-radius:15px" value="Item3"><br>
</div>
<input type=button id="nav_float_menu_button" style="position:absolute;top:2px;right:30px;z-index:1000" value="Menu" class=flatBtn onmouseover="toggleNavMenu()">
<script type="text/javascript">
function toggleNavMenu()
{
if($("#nav_float_menu").is(':hidden'))
{
$("#nav_float_menu").show();
}
else
{
//$("#nav_float_menu").hide();
}
}
function keepShowing()
{
$("#nav_float_menu").show();
}
function hideMenu()
{
$("#nav_float_menu").hide(500);
}
</script>
【问题讨论】:
-
尝试使用 onmouseleave 事件,它会冒泡(不确定是否与您的问题有关)
标签: jquery html menu show-hide onmouseout