如何让我的导航链接的子列表项显示在它的右侧?

问题描述 投票:1回答:1

我正在尝试从链接的右侧弹出我的导航链接的子项,而不是使用基础的jQuery从它下面滑动。

<ul class="side-nav">
  <li><a href="#">Collections</a>
    <ul>
      <li><a href="#">Autos</a></li>
      <li><a href="#">Models</a></li>
      <li><a href="#">Nature</a></li>
      <li><a href="#">Extreme Sports</a></li>
    </ul>
  </li>
</ul>

jQ文件:

$('.side-nav li:has("ul")').children('ul').hide(); //hide submenu
$('.side-nav li:has("ul")').addClass('hasChildren'); // add class to li ul child
$('.side-nav li:has("ul")').click(function(){
  $(this).toggleClass( "active" ) // add active class to clicked menu item
  $(this).children('ul').slideToggle(); //toggle submenu
});
javascript jquery html css zurb-foundation
1个回答
1
投票

你可以尝试这样做。

.collections添加到li,然后在其孩子身上使用position: absolute;风格。

$('.side-nav li:has("ul")').children('ul').hide(); //hide submenu
$('.side-nav li:has("ul")').addClass('hasChildren'); // add class to li ul child
$('.side-nav li:has("ul")').click(function(){
  $(this).toggleClass( "active" ) // add active class to clicked menu item
  $(this).children('ul').slideToggle(); //toggle submenu
});
.collections{
  position:relative;
}

.collections ul{
  position:absolute;
  top:0;
  margin-left: 7rem;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.0/css/foundation.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.4.3/js/foundation.min.js"></script>

<ul class="side-nav">
      <li class="collections"><a href="#">Collections</a>
        <ul>
          <li><a href="#">Autos</a></li>
          <li><a href="#">Models</a></li>
          <li><a href="#">Nature</a></li>
          <li><a href="#">Extreme Sports</a></li>
        </ul>
      </li>
     </ul>

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.