jQuery:我的菜单栏中的奇怪行为

标签 jquery html css mouseenter

我正在尝试使用 HTML、CSS 和 jQuery 制作菜单栏。它正在工作,有点。当我将鼠标悬停在主菜单上时,会出现子菜单。但是,如果我尝试将鼠标向下移动到第一个子菜单上方,它就会消失。我将包括我的 JsFiddle。这是代码:

HTML:

         <ul id="menu">
            <li><a href="#">Categories 1</a>
                <ul id="cat1">
                    <li class="first"><a href="#">temp1</a></li>
                    <li><a href="#">temp2</a></li>
                    <li><a href="#">temp3</a></li>
                </ul>
            </li>
        </ul>

CSS:

#menu {
  background-color: #0000FF;
  height: 20px;
  padding: 15px 0 10px;
  margin: 5px;
  font: 12px Tahoma;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;
  box-shadow: inset 0px 0px 10px #000;
  text-align: center;
} 

#menu > li{
  display: inline;
}

li a {
  color: #fff;
  text-decoration: none;
}

.first{
  margin-top: 12px;
}

#cat1 > li{
  display: block;
  width: 150px; height: auto;
  margin-left: auto; margin-right: auto;
}

#cat1 > li > a{
  display:block;
  background-color: #0000FF;
  padding: 10px;
  box-shadow: inset 0px 0px 2px #000;
}

jQuery:

$('#cat1 > li > a').hide();
$('#menu > li > a').mouseenter(function(){
    $('#cat1 > li > a').slideDown('slow').css({display: 'block'});
});

$('#cat1 > li > a').mouseleave(function(){
    $('#cat1 > li > a').slideUp('slow').css({display: 'block'});
});

http://jsfiddle.net/ZfN7t/19/

感谢您的帮助!

最佳答案

我添加了一些 CSS:

#menu > li {
  display: inline-block;
}

#cat1 {
  display:none;
}

#menu a:hover {
    color: #dc692e;
}

并简化了 Javascript:

$('#menu > li').hover(function(){
    $('#cat1').slideDown('slow');
},function(){
    $('#cat1').stop().slideUp('slow');
});

关于jQuery:我的菜单栏中的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17307258/

相关文章:

javascript - 显示/隐藏适用于 JQuery 1.3.2,但不适用于 JQuery 1.4

javascript - 使用 Jasmine spy 测试事件是否未在元素上触发

html - 无法将图像置于 div 中

javascript - CSS Bootstrap 关闭模态并转到链接

css - 一列中的垂直CSS下拉菜单?

javascript - Grails 将 JSON 发送为 "text",但 IE 加载其 ajax 的 URL 并显示其响应 : why?

javascript - 使用 jQuery 获取元素的类列表

javascript - 使用jquery显示一个div隐藏其他div

javascript - jquery滚动条隐藏菜单中的元素

javascript - 响应式字体大小 nowrap