【问题标题】:Collapsing button's class changes when item is collapsed or not当项目折叠或不折叠时折叠按钮的类发生变化
【发布时间】:2015-05-12 06:59:23
【问题描述】:

很抱歉这段代码,但我刚刚开始开发,根本不知道我想要的触发器在哪里。

所以我在寻找什么: 我已经实现了,当我单击一个按钮时,连接到它的区域会显示出来,而其他 2 个区域会崩溃。 我不知道的是,如何在显示我的区域时更改按钮的类别(从 fa-angle-right 到 fa-angle-down)并在折叠时恢复默认值...

这是我的 HTML:

<section id="mes-creations" class="mes-creations text-center">
 <div class="mes-creations">
  <div class="container">
   <div class="row">
    <div class="col-lg-12">
     <h2 id="titre-section">section title</h2>
     <p>section description</p>
    </div>
   </div>
                <!--bouttons-->
   <div class="row">
    <p>
    <div class="col-sm-4 col-md-4 col-lg-4">
     <a class="btn btn-primary stylebtn collapsed" id="bouton-1" data-toggle="collapse" data-parent="#accordeon" href="#collapseGallery1" aria-expanded="false" aria-controls="collapseGallery1">
      <span class="fa fa-angle-right animated"> bouttontitle1</span>
     </a>
    </div>
    </p>
    <p>
    <div class="col-sm-4 col-md-4 col-lg-4">
     <a class="btn btn-primary stylebtn collapsed" id="bouton-2" data-toggle="collapse" data-parent="#accordeon" href="#collapseGallery2" aria-expanded="false" aria-controls="collapseGallery2">
      <span class="fa fa-angle-right animated"> boutontitle2</span>
     </a>
    </div>
    </p>
    <p>
    <div class="col-sm-4 col-md-4 col-lg-4">
     <a class="btn btn-primary stylebtn collapsed" id="bouton-3" data-toggle="collapse" data-parent="#accordeon" href="#collapseGallery3" aria-expanded="false" aria-controls="collapseGallery3">
      <span class="fa fa-angle-right animated"> boutontitle3</span>
     </a>
    </div>
    </p>                    
    </div>
    <!--end button-->
    <!--gallery-->
    <p>
    <div class="row" id="accordeon">
      <div class="gallery-custom row collapse" id="collapseGallery1">
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/11-fleurs.png" alt="Banniere1"></div>
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/Annees-80.png" alt="Banniere2"></div>
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/Banniere-robo.gif" alt="Banniere3"></div>
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/banniere-site-2012.png" alt="Banniere4"></div>
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/Collection-western.png" alt="Banniere5"></div>
       <div class="col-xs-6 col-sm-4 col-md-3"><img class="img-gallery-style" src="img/Banniere/Beyblade-Film-V1G.png" alt="Banniere6"></div>
      </div>
      <div class="gallery-custom row collapse" id="collapseGallery2">
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/Camelot-CP.png" alt="CP1"></div>
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/CP-Groupe-delite-Final.png" alt="CP2"></div>
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/CP-guerre-des-empires.png" alt="CP3"></div>
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/CP-GUERRIERE_ZYLO.png" alt="CP4"></div>
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/CP-MAntera-copie.png" alt="CP5"></div>
       <div class="col-xs-4 col-sm-3 col-md-3"><img class="img-gallery-style" src="img/CP/CP-OFF-WHITE-LIES_ZYLO2.png" alt="CP6"></div>
      </div>
      <div class="gallery-custom row collapse" id="collapseGallery3">
       <div class="col-xs-6 col-sm-6 col-md-6"><img class="img-gallery-style" src="img/Print/BLACKS-GAME-ANNEES-LASER.png" alt="Print1"></div>
       <div class="col-xs-6 col-sm-6 col-md-6"><img class="img-gallery-style" src="img/Print/BLACKS-GAME-MADMOVIES.png" alt="Print2"></div>
       <div class="col-xs-6 col-sm-6 col-md-6"><img class="img-gallery-style" src="img/Print/print-2013-final.png" alt="Print3"></div>
       <div class="col-xs-6 col-sm-6 col-md-6"><img class="img-gallery-style" src="img/Print/Print-Line-Up-Final.png" alt="Print4"></div>
      </div>
     </div>
     </p>
    </div>
   </div>
  </section>

还有我的 js:

$('#accordeon').on('show.bs.collapse', function () {
    $('#accordeon .in').collapse('hide');
});

Demo

【问题讨论】:

  • 离题:使用正确的标记(参见 Bootstrap 文档),您不必编写上面的 jQuery。内置手风琴功能。
  • 也离题了:col-sm-4 col-md-4 col-lg-4 可以简单地为col-sm-4。

标签: jquery html collapse


【解决方案1】:

这是一种有点老套的方法。如果您使用更接近 Bootstrap 建议的标记结构,它会更简单。

$('.stylebtn').click(function() {
    $(this).find('.fa').toggleClass('fa-angle-down fa-angle-right')
    .closest('div').siblings().find('.fa')
    .removeClass('fa-angle-down').addClass('fa-angle-right');
});

Demo

【讨论】:

  • 非常感谢,它工作得很好。如果在任何情况下,我想改进我的代码并使用你所说的标记结构,你能告诉我应该怎么做吗?
猜你喜欢
  • 1970-01-01
  • 2018-12-24
  • 2014-05-22
  • 2016-04-29
  • 2013-06-15
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
  • 2016-10-26
相关资源
最近更新 更多