下拉子菜单问题

时间:2016-03-18 17:59:07

标签: javascript jquery css menu

我的子菜单有问题。

我可以显示子菜单(当我点击菜单或Li>文本时)。例如,单击ONE

时显示子菜单

此外,如果此人点击其他菜单(Li>文本),请关闭其他子菜单。例如,如果ONE的子菜单打开并且我单击Two,则One的子菜单将关闭。

我无法使用当前代码切换以打开/关闭子菜单。例如,如果我单击One,则显示子菜单。但我希望如果我再次点击One,关闭子菜单。

任何人都可以帮助我吗?

这是我的代码

<head><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
    <script>
$(document).ready(function(){

$(".menu .expanded .menu ").hide(); 



    $("li:has(ul)").click(function() {
    $(".menu .expanded .menu ").hide(); 
        $("ul", this).toggle('fast');
    });

});

    </script>
    </head>


    <body>

    <ul class="menu">
        <li class="expanded">One
                <ul class="menu">
                    <li>One 1</li>
                    <li>One 2</li>
                    <li>One 3</li>
                    <li>One 4</li>
                </ul>
            </li>

        <li class="expanded">Two
                <ul class="menu">
                    <li>Two 1</li>
                    <li>Two 2</li>
                    <li>Two 3</li>
                    <li>Two 4</li>
                </ul>
            </li>

        <li class="expanded">Three
                <ul class="menu">
                    <li>Three 1</li>
                    <li>Three 2</li>
                    <li>Three 3</li>
                    <li>Three 4</li>
                </ul>
            </li>
    </ul>
</body>

非常感谢!我是新人:D

1 个答案:

答案 0 :(得分:2)

我只删除了一行:

div = soup.find('div', {"class":"wrapper"})
div.text

您可以检查我的代码段中的预期行为

$(".menu .expanded .menu ").hide();
$(document).ready(function() {
  var previousTarget = null;
  $("ul", "li").toggle('fast');
  $("li:has(ul)").click(function() {
    $(".menu .expanded .menu").hide('fast');
            
    if (this === previousTarget && $(this).children().css('display')!='none') {
      $(this).children().hide('fast');
    } else {
      $(this).children().show('fast');
    }
    previousTarget = this;
    return false;
  });
});