【问题标题】:How to add class for expanded menu and remove class after collapse如何为展开的菜单添加类并在折叠后删除类
【发布时间】:2013-04-09 11:32:02
【问题描述】:

我尝试制作动态菜单列表,并且我有主菜单和子菜单,每个项目都有子菜单在项目名称前提供(+)号。 当我双击菜单项并且它可以工作时,我使用 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>

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    toggleClass 就像 slideToggle 一样。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-20
        • 2022-11-15
        • 2017-05-25
        • 2013-08-05
        • 2017-12-14
        • 1970-01-01
        相关资源
        最近更新 更多