2013-04-09 79 views
0

我试图制作动态菜单列表,并且我有主菜单和子菜单,每个项目都有子菜单在项目名称前面提供了(+)号。 我已经使用addClass添加( - ),当我双击菜单项,它的作品,但是当我再次双击该项目将崩溃但( - )符号不会更改为(+)。 我的问题,如何通过使用removeClass删除( - )符号,当菜单崩溃并将其更改为(+)这是官方?如何为折叠后的菜单添加类并删除折叠后的类

非常感谢。

CSS:

.openSign{ 
    background: url('images/open.png')no-repeat 0px 0px; 
} 
.closeSign{ 
    background: url('images/close.png')no-repeat 0px 0px; 
} 

HTML:

<ul > 1 
    <li class="navL1 openSign"> 1.1 
    <ul class="navL2 openSign"> 
     <li class="navL2 openSign"> 1.1.1 
     <ul> 
      <li class="navL3"><a>1.1.1.1 </a> </li> 
      <li class="navL3">1.1.1.2 </li> 
      <li class="navL3">1.1.1.3</li> 
     </ul> 

的JavaScript:

<script type="text/javascript"> 
     $(document).ready(function() { 
       $(".navL2, .navL3").hide(); 
       $(".navL1").dblclick(function(e){ 
        $(this).find('.navL2').slideToggle(); 
        $(this).addClass("closeSign"); 
       }); 
     }); 
</script> 

回答

0

如果使用slideToggle,你应该使用toggleClass()以及(而不是addClass):

$(this).toggleClass("closeSign") 
    .find('.navL2').slideToggle(); 
+0

非常感谢。其作品 – Fahad 2013-04-09 11:47:46

1

有一个toggleClass就像是有slideToggle