我试图让我的导航链接的子项从链接的右侧弹出,而不是使用基金会的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
});

最佳答案

您可以尝试这样做。

.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>





希望这可以帮助。

10-07 18:50