Javascript子菜单问题

时间:2017-10-13 00:10:18

标签: javascript jquery submenu

声明! ......我不是真正热衷于前端开发。 我有一个导航菜单,有两个子菜单。我正在使用Symfony 3框架进行应用程序,因此涉及到twig。我的基本模板具有导航代码,因此它应该可用于所有扩展的树枝页面。这是html

<ul class="nav">
    <!-- Main menu -->
    <li class="current"><a href="{{ path('admin_dashboard') }}"><i class="glyphicon glyphicon-th"></i> Dashboard</a>
    </li>
    <li><a href="{{ path('contact_emails') }}"><i class="glyphicon glyphicon-stats"></i> Emails</a></li>
    <li><a href="{{ path('users_table') }}"><i class="glyphicon glyphicon-user"></i> Users</a></li>
    <li class="submenu">
        <a href="#">
            <i class="glyphicon glyphicon-list"></i> Admin
            <span class="caret pull-right"></span>
        </a>

        <ul>
            <li><a href="{{ path('admin_profile') }}"><i class="glyphicon glyphicon-user"></i> My Profile</a></li>
            <li><a href="{{ path('fos_user_change_password') }}">Change Password</a></li>
        </ul>
    </li>
    <li class="submenu">
        <a href="#">
            <i class="glyphicon glyphicon-list"></i> Public Pages
            <span class="caret pull-right"></span>
        </a>

        <ul>
            <li><a href="{{ path('homepage') }}">Home Page</a></li>
            <li><a href="{{ path('about_page') }}">About</a></li>
            <li><a href="{{ path('services_page') }}">Services</a></li>
            <li><a href="{{ path('contact_page') }}">Contact</a></li>

        </ul>
    </li>
    <li><a href="{{ path('fos_user_security_logout') }}">Logout</a></li>
</ul>

在仪表板页面上,它按预期工作。当&#34;管理员&#34;单击,子菜单打开,显示子链接。单击另一个,第一个子菜单关闭,另一个打开。

然而,当我切换到另一个页面,例如&#34;电子邮件&#34;当点击任何子菜单时,它立即关闭。我已经尝试了多种方法来尝试解决这个问题,但它似乎没有用。这是&#34;子菜单&#34;

的javascript
$(".submenu > a").click(function(e) {
    e.preventDefault();
    var $li = $(this).parent("li");
    var $ul = $(this).next("ul");

    if($li.hasClass("open")) {
        $ul.slideUp(350);
        $li.removeClass("open");
    } else {
        $(".nav > li > ul").slideUp(350);
        $(".nav > li").removeClass("open");
        $ul.slideDown(350);
        $li.addClass("open");
    }
});

感谢您的帮助。

0 个答案:

没有答案