javascript - 子菜单消失

标签 javascript jquery css submenu

我在 JQuery 的帮助下有一个子菜单,但是当我离开主 LI 转到子菜单时,子菜单消失了。根据我的研究,我发现很多时候这是一个 CSS 问题,但我看不出我的 CSS 有什么问题。我唯一想知道的另一件事是悬停功能是否可行?请看一下。

这是我的 CSS 和 JavaScript 用于相关部分:

<script>
$(document).ready(function () {
    $('.nav #about').hover(function (e) {
        $('.nav2').slideDown('normal');
    }, function () {
        $('.nav2').slideUp('normal');
    });
});
</script>


#wrapper
{
margin:9% 10% 1% 10%;
height:40em;
border: solid 3px black;
background-color:#B2B2D9;
overflow:hidden
}           /* Allows inner div to expand to full height of WRAPPER div */



#main
{
height:100%;
background-color:white;
margin-right:2%;
margin-bottom:20%;
margin-left:15%;
padding-top:1em;
padding-left:2em;
}


#col1
{
background-color:#000033;
width:15%;
height:100%;
float:left;
color:#FFF000;
font-family: bold;
font-size: 100%;
padding:0;
}


ul.nav li 
{
position:relative;
width:100%;
}

ul.nav a
{
display: block;
background-color:#B2B2D9;
margin-right:2%;
margin-bottom:1%;
margin-left:1%;
text-decoration:none;
border-top-color:#FFFFFF;
border-right-color:#E6E6E6;
border-bottom-color:#FFFFFF;
border-left-color:#E6E6E6;
border-top-width: 3%;
border-right-width: 3%;
border-bottom-width: 3%;
border-left-width: 3%;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
padding: 2%;
}


ul.nav
{
position:relative;
width:100%;
list-style-type: none;
line-height:1.5em;
padding:0px;
}

ul.nav2 a
{
display: block;
background-color:#000033;
padding:6%; 
margin:0;
text-decoration:none;
color:white;
border-top-color:#FFFFFF;    
border-right-color:#E6E6E6;
border-bottom-color:#FFFFFF;
border-left-color:#E6E6E6;
}


ul.nav2
{
position:absolute;
top:0;
left:100%;
display:none;
font-size:100%;
list-style-type: none;
width:7em;
line-height:1.5em;
padding:0px;
}

ul.nav2 li
{ 
line-height:1.3em;
}

这是有问题的页面部分:

<div id="col1">

<ul class="nav">
<li><a href="http://www.alan.com">Home</a></li>
<li><a id="about" href="http://www.alan.com">About</a>

  <ul class="nav2">
  <li><a href="bio.html">Bio</a></li>
  <li><a href="edu.html">Education</a></li>
  </ul>

</li>

<li><a href="http://www.alan.com">New Listings</a></li>
<li><a href="http://www.alan.com">Featured Home</a></li>
<li><a href="http://www.alan.com">Town Facts</a></li>
<li><a href="http://www.alan.com">Contact Me</a></li>
</ul>


</div>


<div id="main">
"Lorem ipsum dolor sit amet, consectetur adipisicing elit
</div>

任何帮助都会很棒!

最佳答案

如果您移动 id="about"<li>元素它应该更像你期望的那样工作(<li> 是你的子菜单容器,而不是 <a> 标签)

<li id="about"><a href="http://www.alan.com">About</a>

关于javascript - 子菜单消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14969835/

相关文章:

javascript - 如何在 Javascript 中获取浏览器视口(viewport)宽度和高度并应用于 CSS ID?

javascript - 将列表项设置为负顶部的动画会使其他列表项下降

javascript - 从 Java 应用程序在 Chrome 控制台中执行 JavaScript 命令

javascript - 在使用 ajax 提交时,在 greasemonkey 用户脚本中将文本附加到表单

javascript - 在 Bootstrap 的 Typeahead 中添加标签、值和图片

html - 为什么背景渐变将内容向下推?

html - 如何让div显示:none after a css animation that makes it fade away?

javascript - Mongoose 索引

javascript - 视网膜显示屏上的 Canvas 图像数据 (MPB)

jquery - 编写一个函数 onchange 某些属性