Bootstrap / Css垂直导航栏应显示子菜单而不是悬停

时间:2017-02-09 14:57:14

标签: javascript css twitter-bootstrap css3 navbar

Bootstrap / Css垂直导航栏应显示子菜单而不是悬停

我有一个垂直导航栏,显示悬停时的子菜单。而不是悬停我想要点击。用纯css / bootstrap做任何方法吗?



.navigation {
  width: 300px;
}


.mainmenu, .submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mainmenu a {
  display: block;
  background-color: #CCC;
  text-decoration: none;
  padding: 10px;
  color: #000;
}


.mainmenu a:hover {
    background-color: #C5C5C5;
}

.mainmenu li:hover .submenu {
  display: block;
  max-height: 200px;
}

.submenu a {
  background-color: #999;
}


.submenu a:hover {
  background-color: #666;
}


.submenu {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: all 0.5s ease-out;
}

<nav class="navigation">
  <ul class="mainmenu">
    <li><a href="">Home</a>
     <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul></li>
    <li><a href="">About</a>
     <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul></li>
    <li><a href="">Products</a>
      <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul>
    </li>
    <li><a href="">Contact us</a></li>
  </ul>
</nav>
&#13;
&#13;
&#13;

提前致谢.....

1 个答案:

答案 0 :(得分:0)

&#13;
&#13;
$(".mainmenu li").click(function(){
  $(".mainmenu li").removeClass('active');
  $(this).toggleClass('active');
});
&#13;
.navigation {
  width: 300px;
}


.mainmenu, .submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mainmenu a {
  display: block;
  background-color: #CCC;
  text-decoration: none;
  padding: 10px;
  color: #000;
}


.mainmenu a:hover {
    background-color: #C5C5C5;
}

.mainmenu li.active .submenu {
  display: block;
  max-height: 200px;
}

.submenu a {
  background-color: #999;
}


.submenu a:hover {
  background-color: #666;
}


.submenu {
  overflow: hidden;
  max-height: 0;
  -webkit-transition: all 0.5s ease-out;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="navigation">
  <ul class="mainmenu">
    <li><a href="#">Home</a>
     <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul></li>
    <li><a href="#">About</a>
     <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul></li>
    <li><a href="#">Products</a>
      <ul class="submenu">
        <li><a href="">Tops</a></li>
        <li><a href="">Bottoms</a></li>
        <li><a href="">Footwear</a></li>
      </ul>
    </li>
    <li><a href="#">Contact us</a></li>
  </ul>
</nav>
&#13;
&#13;
&#13;

使用几行jQuery代码可以实现您期望的行为。