0

我正在尝试使用 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/

谢谢你的帮助!

4

1 回答 1

0

我添加了一些 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');
});
于 2013-06-25T21:45:29.607 回答