创建下拉菜单功能

creating a drop down menu function

本文关键字:功能 下拉菜单 创建      更新时间:2023-09-26

我的下拉菜单功能有一点问题。我想要的是,在第二次点击菜单选项卡后,它的可见性应该被隐藏。

这是我的代码....

HTML

: -

<nav class="clearfix">
    <ul>
        <li class="navTab marginRight">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a></a></li>
                <li><a></a></li>
            </ul>
        </li>
        <li class="navTab marginRight">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a></a></li>
                <li><a></a></li>
            </ul>
        </li>
        <li class="navTab">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a></a></li>
                <li><a></a></li>
            </ul>
        </li>
    </ul>
</nav>
CSS

: -

.navTab ul.visible {
  visibility: visible;
}
.navTab ul {
  display: inline;
  visibility: hidden;
  padding: 0px;
  z-index: 200;
  position: absolute;
  left: 0;  
}
jQuery

: -

$(document).ready(function(){
  var list = $('.navTab ul'); 
  $('li.navTab').click(function(){
    var thatIndex = $(this).index();
    list.not( ':eq(thatIndex)' ).removeClass('visible');
    list.eq(thatIndex).addClass('visible');
  });
});

你好,我想你在找这个。

$(document).ready(function(){  
  $('li.navTab ul').hide();  
  $('li.navTab').click(function(){   
    $(this).find('ul').slideToggle();  
  });
});
<nav class="clearfix">
    <ul>
        <li class="navTab marginRight">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a>sssss</a></li>
                <li><a>ads</a></li>
            </ul>
        </li>
        <li class="navTab marginRight">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a>hhhh</a></li>
                <li><a>weq</a></li>
            </ul>
        </li>
        <li class="navTab">
            <a><span class="iconFont">v</span></a>
            <ul>
                <li><a>ac</a></li>
                <li><a>sadfs</a></li>
            </ul>
        </li>
    </ul>
</nav>

我还没有应用你的CSS,你可以根据你的自定义样式来装饰

下面是演示工作代码

演示工作代码


更新代码

$(document).ready(function(){  
  $('li.navTab ul').hide();  
  $('li.navTab').click(function(){
    debugger;
      if($('li.navTab').is(":visible")){
          $('li.navTab ul').hide();
          $(this).find('ul').slideToggle();  
      }    
  });
});

演示运行代码

toggleClass()方法可能对您有所帮助。