2016-07-26 91 views
1

我正在使用下面的手风琴jQuery和HTML代码。jQuery手风琴不起作用

当面板折叠/显示时,图标不会改变。 单击面板标题后,面板应该变为可见并折叠。

我也用过Bootstrap​​。

var selectIds =$('#collapse1,#collapse2,#collapse3'); 
 
     $(function ($) { 
 
     selectIds.on('show.bs.collapse hidden.bs.collapse', function() { 
 
      $(this).prev().find('.fa').toggleClass('fa-plus fa-minus'); 
 
     }) 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
    
 
<div class="panel-group" id="accordion"> 
 
     <div class="panel panel-default"> 
 
      <div class="panel-heading"> 
 
       <h4 class="panel-title"> 
 
        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel1"><i class="glyphicon glyphicon-minus"></i>Panel 1</a> 
 
       </h4> 
 
      </div> 
 
     <div id="panel1" class="panel-collapse collapse in"> 
 
      <div class="panel-body"> 
 
       Contents panel 1 
 
       </div> 
 
      </div> 
 
     </div> 
 
     <div class="panel panel-default"> 
 
      <div class="panel-heading"> 
 
       <h4 class="panel-title"> 
 
        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel2"><i class="glyphicon glyphicon-plus"></i>Panel 2</a> 
 
       </h4> 
 
      </div> 
 
      <div id="panel2" class="panel-collapse collapse"> 
 
       <div class="panel-body"> 
 
        Contents panel 2 
 
       </div> 
 
      </div> 
 
     </div> 
 
     <div class="panel panel-default"> 
 
      <div class="panel-heading"> 
 
       <h4 class="panel-title"> 
 
        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel3"><i class="glyphicon glyphicon-plus"></i>Panel 3</a> 
 
       </h4> 
 
      </div> 
 
      <div id="panel3" class="panel-collapse collapse"> 
 
       <div class="panel-body"> 
 
        Contents panel 3 
 
       </div> 
 
      </div> 
 
     </div> 
 
    </div>

+0

看到这个完整的参考 https://codepen.io/vikasverma93/pen/raxGaM/ – spyshiv

回答

0

你的ID和班级不匹配。

  • 更换#collapse#panel
  • 与​​

更换fa请参见下面的工作演示:

var selectIds =$('#panel1,#panel2,#panel3'); 
 
$(function ($) { 
 
    selectIds.on('show.bs.collapse hidden.bs.collapse', function() { 
 
     $(this).prev().find('.glyphicon').toggleClass('glyphicon-plus glyphicon-minus'); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<div class="panel-group" id="accordion"> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading"> 
 
      <h4 class="panel-title"> 
 
       <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel1"><i class="glyphicon glyphicon-minus"></i>Panel 1</a> 
 
      </h4> 
 
     </div> 
 
    <div id="panel1" class="panel-collapse collapse in"> 
 
     <div class="panel-body"> 
 
      Contents panel 1 
 
      </div> 
 
     </div> 
 
    </div> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading"> 
 
      <h4 class="panel-title"> 
 
       <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel2"><i class="glyphicon glyphicon-plus"></i>Panel 2</a> 
 
      </h4> 
 
     </div> 
 
     <div id="panel2" class="panel-collapse collapse"> 
 
      <div class="panel-body"> 
 
       Contents panel 2 
 
      </div> 
 
     </div> 
 
    </div> 
 
    <div class="panel panel-default"> 
 
     <div class="panel-heading"> 
 
      <h4 class="panel-title"> 
 
       <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#panel3"><i class="glyphicon glyphicon-plus"></i>Panel 3</a> 
 
      </h4> 
 
     </div> 
 
     <div id="panel3" class="panel-collapse collapse"> 
 
      <div class="panel-body"> 
 
       Contents panel 3 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div>

+0

非常感谢你对我工作很好 –