如何在点击树枝中的另一个菜单链接时关闭子菜单

时间:2015-09-22 14:45:53

标签: javascript jquery html

我在树枝上有一个垂直菜单(Symfony2)。一些菜单链接有子菜单。子菜单的父li也是href。例如:

<div id="cssmenu">
  <ul id="myMenu">
    <li class="has-sub">
      <a href="{{ path(entity.route) }}">
        <span>Dashboard</span>
      </a>
    </li>
    <li class="has-sub">
     <a href="{{ path(entity.route) }}">
       <span>Statistic</span>
     </a>
       <ul class="sub">
         <li> 
           <a href="{{ path(menue.route) }}">
             <span class="subMenu">Statistic1</span>
           </a>
          </li>
          <li> 
            <a href="{{ path(menue.route) }}">
              <span class="subMenu">Statistic2</span>
            </a>
          </li>
       </ul>
    </li>
</ul>

我想点击统计菜单并转发到常规统计页面,同时我希望只要我在统计页面上,就可以打开统计信息的子菜单并保持打开状态。当我单击子菜单中的Statistic1或Statistic 2时,我应该转发到各自的页面。在这种情况下,子菜单应保持打开状态。 当我点击仪表板时,我想转发到仪表板页面并关闭统计子菜单。

目前,当我点击仪表板时,统计子菜单也会保持打开状态。

这是我使用的脚本:

$(function() {
 $('#myMenu > li').click(function(e){
   e.stopPropagation();
   var $el = $('ul',this);
   $('#myMenu > li > ul').not($el).slideUp();
   $el.stop(true, true).slideToggle(400);
 });
$('#myMenu > li > ul > li').click(function(e) {
  e.stopImmediatePropagation();  
  });
});

我怀疑页面是否与菜单一起加载。这是symfony,我有一个base.html.twig,其中包括菜单。每个模板都扩展了base.html.twig。

我希望你能帮助我。

0 个答案:

没有答案