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>
4

2 回答 2

1

有一个toggleClass就像有一个slideToggle

于 2013-04-09T11:34:21.597 回答
0

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

$(this).toggleClass("closeSign")
  .find('.navL2').slideToggle();
于 2013-04-09T11:35:31.413 回答