简体   繁体   English

一个简单的vertica菜单手风琴JavaScript Jquery

[英]A simple vertica menu accordion JavaScript Jquery

I'm trying to make a simple accordion menu When you click on the menu the submenus are shown: 我试图制作一个简单的手风琴菜单,当您单击菜单时,将显示子菜单:

When you click "A" or "B" or "C", your respective submenu will be displayed 当您单击“ A”或“ B”或“ C”时,将显示各自的子菜单

If the submenu of the letter is open, the only way to close it is to click on the letter again 如果字母的子菜单处于打开状态,则关闭它的唯一方法是再次单击该字母

did not get the way to just apply the jquery to the clicked class 没有办法只将jquery应用于clicked类

https://jsfiddle.net/mafervemg/g0rb9xL1/ https://jsfiddle.net/mafervemg/g0rb9xL1/

 $(document).ready(function () { $(".submenu").slideDown(); // open web there all submenu close $(".UP").click(function () { $(".submenu").slideUp(); }); $(".DOWN").click(function () { $(".submenu").slideDown(); }); }); 
  <p class="UP"> Click Here For Closet Sub Menu</p> <p class="DOWN">Click Here For Open</p> <ul class="menu"> <li><a href="#">A</a></li> <li> <ul class="submenu"> <li><a href="#">a 1</a></li> <li><a href="#">a 2</a></li> <li><a href="#">a 3</a></li> <li><a href="#">a 4</a></li> </ul> </li> <li><a href="#">B</a></li> <li> <ul class="submenu"> <li><a href="#">b 1</a></li> <li><a href="#">b 2</a></li> <li><a href="#">b 3</a></li> <li><a href="#">b 4</a></li> </ul> </li> <li><a href="#">C</a></li> <li> <ul class="submenu"> <li><a href="#">c 1</a></li> <li><a href="#">c 2</a></li> <li><a href="#">c 3</a></li> <li><a href="#">c 4</a></li> </ul> </li> </ul> 

错误:未定义$是因为未正确包含jQuery

 <script type="text/javascript" src="https://code.jquery.com/jquery-1.7.1.min.js"></script>

I slightly changed your code, Hope you can understand 我稍微修改了您的代码,希望您能理解

 $(document).ready(function() { $("submenu").slideDown(); // open web there all submenu close $('.toggle-menu').addClass('opened'); $(".UP").click(function() { $(".submenu").slideUp(); $('.toggle-menu').removeClass('opened').addClass('closed'); }); $(".DOWN").click(function() { $(".submenu").slideDown(); $('.toggle-menu').removeClass('closed').addClass('opened'); }); $('.toggle-menu').click(function() { if ($(this).hasClass('opened')) $(this).removeClass('opened').addClass('closed').siblings('.submenu').slideUp(); else $(this).removeClass('closed').addClass('opened').siblings('.submenu').slideDown(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <p class="UP"> Click Here For Closet Sub Menu</p> <p class="DOWN">Click Here For Open</p> <ul class="menu"> <li> <a href="#" class="toggle-menu">A</a> <ul class="submenu"> <li><a href="#">a 1</a></li> <li><a href="#">a 2</a></li> <li><a href="#">a 3</a></li> <li><a href="#">a 4</a></li> </ul> </li> <li> <a href="#" class="toggle-menu">B</a> <ul class="submenu"> <li><a href="#">b 1</a></li> <li><a href="#">b 2</a></li> <li><a href="#">b 3</a></li> <li><a href="#">b 4</a></li> </ul> </li> <li> <a href="#" class="toggle-menu">C</a> <ul class="submenu"> <li><a href="#">c 1</a></li> <li><a href="#">c 2</a></li> <li><a href="#">c 3</a></li> <li><a href="#">c 4</a></li> </ul> </li> </ul> 

You need to change a bit in your html and js Have a look at Js below: 您需要在html和js中进行一些更改,看看下面的Js:

$(document).ready(function () {
    $("submenu").slideDown(); // open web there all submenu close
    $(".toggle").addClass('open');
  $(".UP").click(function () {
      $(".submenu").slideUp();
      $(".toggle").removeClass('open');
  });

  $(".toggle").click(function(){
    if($(this).hasClass("open")){
      $(this).parent().find(".submenu").slideUp();
    } else {
      $(this).parent().find(".submenu").slideDown();
    }
    $(this).toggleClass('open');
  })

  $(".DOWN").click(function () {
      $(".submenu").slideDown();
      $(".toggle").addClass('open');
  });

});

and change html 并更改html

     <p class="UP"> Click Here For Closet Sub Menu</p>
        <p class="DOWN">Click Here For Open</p>

        <ul class="menu">
            <li><a href="#" class='toggle'>A</a>
                <ul class="submenu">
                    <li><a href="#">a 1</a></li>
                    <li><a href="#">a 2</a></li>
                    <li><a href="#">a 3</a></li>
                    <li><a href="#">a 4</a></li>
                </ul>
</li>

            <li><a href="#" class='toggle'>B</a>    <ul class="submenu">
                    <li><a href="#">b 1</a></li>
                    <li><a href="#">b 2</a></li>
                    <li><a href="#">b 3</a></li>
                    <li><a href="#">b 4</a></li>
                </ul></li>

            <li><a href="#" class='toggle'>C</a>    <ul class="submenu">
                    <li><a href="#">c 1</a></li>
                    <li><a href="#">c 2</a></li>
                    <li><a href="#">c 3</a></li>
                    <li><a href="#">c 4</a></li>
                </ul></li>

        </ul>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM