Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使用toggleClass关闭移动菜单时出现问题_Jquery_Mobile_Drop Down Menu_Menu_Toggleclass - Fatal编程技术网

Jquery 使用toggleClass关闭移动菜单时出现问题

Jquery 使用toggleClass关闭移动菜单时出现问题,jquery,mobile,drop-down-menu,menu,toggleclass,Jquery,Mobile,Drop Down Menu,Menu,Toggleclass,我正在尝试使用移动菜单解决一个问题。这不是我创建的网站,所以我对开发人员的代码有点不熟悉。我认为这个问题应该很容易解决,但我不能完全解决。基本上,当您单击主菜单按钮时,会出现一个下拉菜单。直到你再次点击主菜单,它才会消失。理想情况下,我希望在单击菜单中的其他页面时关闭菜单。换句话说,单击菜单打开下拉菜单,然后单击“主页”或“关于”将使菜单消失 不幸的是,我不能提供一个网页链接或实际的文件。我试着做一把小提琴,但没能使它起作用。我对这个有点陌生,所以我道歉。如果你不能帮助我,我理解。我只是想尝试一

我正在尝试使用移动菜单解决一个问题。这不是我创建的网站,所以我对开发人员的代码有点不熟悉。我认为这个问题应该很容易解决,但我不能完全解决。基本上,当您单击主菜单按钮时,会出现一个下拉菜单。直到你再次点击主菜单,它才会消失。理想情况下,我希望在单击菜单中的其他页面时关闭菜单。换句话说,单击菜单打开下拉菜单,然后单击“主页”或“关于”将使菜单消失

不幸的是,我不能提供一个网页链接或实际的文件。我试着做一把小提琴,但没能使它起作用。我对这个有点陌生,所以我道歉。如果你不能帮助我,我理解。我只是想尝试一些建议

也就是说,下面是我正在使用的html的一个大致草图:

<nav role="navigation" class="menu main-menu”>
    <span class="menu-switch">MAIN MENU</span>
    <ul>
        <li>
            <a href=“#home”>Home</a>
        </li>
        <li>
            <a href=“#about”>About</a>
        </li>
        <li>
            <a href=“#contact”>Contact</a>
        </li>
    </ul>
</nav>
“open”类引用下拉列表的CSS样式

我尝试在其他各种页面上应用toggleClass,如下所示:

$('li a#home' ).click(function(){
    $(this).toggleClass('open');
    });
我的理由是,在另一个页面链接上再次单击toggleClass将删除“open”类,从而关闭菜单。我尝试过不同的方法,比如使用不同的选择器,但似乎没有任何效果。请让我知道,如果我可以提供任何其他有用的信息。我感谢任何建设性的建议。非常感谢您抽出时间

问题解决了。我让它像这样工作:

$('li a').on('click', function() {
       $('span.menu-switch').removeClass('open');
    });

问题解决了。我让它像这样工作:
$('li a').on('click', function() {
       $('span.menu-switch').removeClass('open');
    });
<span class="menu"></span>
            <div class="top-menu">
                <ul>                                           
                    <li><a class="active" href="index.html">Naslovna</a></li>
                    <li><a href="cenovnik.html">Cenovnik</a></li>
                    <li><a href="usluga.html">Usluge</a></li>
                    <li><a href="prijatelji.html">Prijatelji</a></li>
                    <li><a href="http://potrcko.net/magazin">Magazin</a></li>
                    <li><a href="http://potrcko.net/kuvar">Kuvar</a></li>
                    <li><a href="kontakt.html">Kontakt</a></li>
                </ul>
            </div>

            <!-- script for menu -->
            <script>
            $( "span.menu" ).click(function(event) {
              $( ".top-menu" ).slideToggle( "slow", function() {
                // Animation complete.
              });
            });
        </script>