0
我下拉菜單水平,這工作正常,直到我的鼠標離開它。爲了更好地ilustrate這裏的問題是一些截屏:MouseLeave上的HTML/CSS菜單定位出現問題
- 當我鼠標移到「菜單項3」:
- 當我鼠標了UL的(鉻):
- 當我鼠標出了UL(火狐)的:
當我鼠標移出從UL我需要菜單留作爲截圖1 這裏是我的HTML:
<div style="position: relative">
<nav>
<ul id="main-menu">
<li>@Html.ActionLink("Menu item 1", "Index", "InternalHome")</li>
<li>@Html.ActionLink("Menu item 2", "Index", "TeachingMaterials")
<ul>
<li>@Html.ActionLink("Menu item 2.1", "Index", "TeachingMaterials")</li>
</ul>
</li>
<li>@Html.ActionLink("Menu item 3", "Index", "TeachingMaterials")
<ul>
<li>@Html.ActionLink("Menu item 3.1", "Index", "TeachingMaterials")</li>
<li>@Html.ActionLink("Menu item 3.2", "Index", "TeachingMaterials")</li>
<li>@Html.ActionLink("Menu item 3.3", "Index", "TeachingMaterials")</li>
</ul>
</li>
<li>@Html.ActionLink("Menu item 4", "Index", "TeachingMaterials")
<li>@Html.ActionLink("Menu item 5", "Index", "TeachingMaterials")
</ul>
</nav>
</div>
CSS:
#main-menu *
{
margin: 0;
padding: 0;
}
#main-menu
{
position: absolute;
top: 0;
left: 0;
margin-left: 100px;
}
#main-menu li
{
list-style: none;
float: left;
}
#main-menu li a
{
margin-right: 5px;
padding: 2px;
display: block;
}
#main-menu li ul li a
{
display: block;
width: 100%;
}
#main-menu li ul
{
display: none;
}
#main-menu li:hover ul
{
position: absolute;
display: inline;
left: 0;
width: 100%;
}
#main-menu li:hover li
{
float: left;
}
和簡單JS以顯示子菜單:
$(document).ready(function() {
var menuLinks = $("#main-menu li");
menuLinks.hover(function() {
$("#main-menu li ul").hide();
var menuLinkChildren = $(">ul", $(this));
if (menuLinkChildren.length > 0) {
menuLinkChildren.show();
}
return false;
}, null);
});