2014-08-27 18 views
3

我已经创建了我的WP响应式菜单,它有几个级别的子菜单,我只想在显示或滑动特定的子菜单时点击或单击它。如何创建像手风琴一样工作的WordPress响应式菜单?

我已将span放入锚标记中以防止重定向到URL,因此只需单击或轻击span即可滑动菜单。

这是菜单结构。

<nav id="nav" class="menu-menu-container" style="display: block;"> 
    <ul id="menu" class="menu"> 
     <li id="menu-item-7" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-has-children menu-item-7"><a href="http://localhost/wordpress/">Home<span class="arrow"> </span></a> 
      <ul class="sub-menu"> 
       <li id="menu-item-8" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8"><a href="http://localhost/wordpress/sample-page/">Sample Page</a></li> 
        <li id="menu-item-32" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-32"><a href="http://localhost/wordpress/activate/">activate<span class="arrow"> </span></a> 
        <ul class="sub-menu"> 
         <li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33"><a href="http://localhost/wordpress/register/">register</a></li> 
         <li id="menu-item-34" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-34"><a href="http://localhost/wordpress/resetpass/">resetpass<span class="arrow"> </span></a> 
          <ul class="sub-menu"> 
           <li id="menu-item-37" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-37"><a href="http://localhost/wordpress/forgotpass/">forgotpass</a></li> 
           <li id="menu-item-38" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-38"><a href="http://localhost/wordpress/activate/">activate</a></li> 
           <li id="menu-item-39" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-39"><a href="http://localhost/wordpress/logout/">logout</a></li> 
          </ul> 
         </li> 
        </ul> 
       </li> 
      </ul> 
     </li> 
    <li id="menu-item-10" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-10"><a href="http://localhost/wordpress/member/">member</a></li> 
    <li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="http://localhost/wordpress/login/">login</a></li> 
    </ul> 
</nav> 

这是jquery。

$('.menu > li.menu-item-has-children > a').append('<span class="arrow"> </span>'); 
$('.sub-menu li.menu-item-has-children > a').append('<span class="arrow"> </span>'); 


$('.menu > li.menu-item-has-children > a > span.arrow').click(function(){ 
    var txt = $(this).text() == ' ' ? ' ' : ' '; 
    $(this).text(txt); 
    $('.menu > li > .sub-menu').slideToggle('fast'); 
    if ($(this).text() == ' ') { 
     setTimeout(function(){ 
     $('.menu > li > .sub-menu').removeAttr('style'); 
     },1000); 
    } else { 
    } 
    return false; 
}); 

第二子菜单。

$('.sub-menu li.menu-item-has-children > a > span.arrow').click(function(){ 
    var txt = $(this).text() == ' ' ? ' ' : ' '; 
    $(this).text(txt); 
    $('.sub-menu > li > .sub-menu').slideToggle('fast'); 
    if ($(this).text() == ' ') { 
     setTimeout(function(){ 
     $('.sub-menu > li > .sub-menu').removeAttr('style'); 
     },1000); 
    } else { 
    } 
    return false; 
}); 

因此,对于第3等等.....

$('.sub-menu .sub-menu li.menu-item-has-children > a > span.arrow').click(function(){.. 
... 

example

你可以看到使用这种方法我已经使这个规则对每一个选择是我曾尝试。

所以我不希望这样,有没有什么办法可以做到这一点只有在单击处理程序,所以我只有当用户点击或点击特定的子菜单时,只有该菜单将滑动或切换。

回答