부트 스트랩 3 Chevron 아이콘으로 쇼 상태 축소


126

Collapse 의 Bootstrap 3 Javascript 예제 페이지 에서 가져온 핵심 예제를 사용하여 갈매기 형 아이콘을 사용하여 축소 상태를 표시 할 수있었습니다.

나는 이것을 사용하여 일하고있다 :

$('#accordion .accordion-toggle').click(function (e) {
    var chevState = $(e.target).siblings("i.indicator").toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
    $("i.indicator").not(chevState).removeClass("glyphicon-chevron-down").addClass("glyphicon-chevron-up");
});

이것은 작동하지만 (모든 브라우저에서 완전히 테스트되지는 않았지만) 더 우아한 해결책이 있는지 궁금합니다.

이상적으로 핵심 기능을 사용하고 싶지만 동일한 결과를 얻는 방법을 잘 모르겠습니다.

$('#accordion').on('hidden.bs.collapse', function () {
    //do something...
})

다음은 jsfiddle 의 작동 버전입니다 .


안녕하세요,이 예에서 텍스트 전체가 아닌 전체 제목을 하이퍼 링크로 만드는 방법은 무엇입니까? 즉, 텍스트뿐만 아니라 제목 패널을 클릭하면 표시되도록 전환하고 싶습니다. 어떻게합니까?
user1447718


@ user1447718 다음과 같은 바이올린이 있습니다. JSFiddle 헤더 전체를 클릭 할 수 있기를 원했기 때문에 SO에서 찾은 몇 가지 솔루션을 통합했습니다.
피터 VDE

dperish와 마찬가지로, 나는 이것을했다
Steve Greene

답변:


241

다음 HTML의 경우 ( Bootstrap 3 예제에서 ) :

.panel-heading .accordion-toggle:after {
    /* symbol for "opening" panels */
    font-family: 'Glyphicons Halflings';  /* essential for enabling glyphicon */
    content: "\e114";    /* adjust as needed, taken from bootstrap.css */
    float: right;        /* adjust as needed */
    color: grey;         /* adjust as needed */
}
.panel-heading .accordion-toggle.collapsed:after {
    /* symbol for "collapsed" panels */
    content: "\e080";    /* adjust as needed, taken from bootstrap.css */
}
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-1.11.1.min.js" type="text/javascript" ></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" type="text/javascript" ></script>

<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="#collapseOne">
          Collapsible Group Item #1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
          Collapsible Group Item #2
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
          Collapsible Group Item #3
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

시각 효과 :

아코디언에 bootstrap3 상징 아이콘


6
이것은 잘 작동합니다 ... 여기 당신을위한 jsFiddle이 있습니다 : jsfiddle.net/panchroma/3gYa3
David

6
바이올린에서 모든 갈매기는 처음에 아래로 향합니다. 쉬운 해결책이 있습니까?
wuher

16
초기 상태에 대한 순수한 CSS 솔루션은 보이지 않습니다. 여기서 문제는 부트 스트랩이 최소한 하나를 접을 때까지 (축소가 시작되어 접혀도) "축소"클래스를 링크에 추가하지 않는다는 것입니다. 그런 다음 단순히 "열기"링크에서 해당 클래스를 제거합니다. 따라서 "open"과 "default"는 동일한 클래스를 가지므로 순수한 CSS 솔루션은 없습니다. 이상적으로 이것은 부트 스트랩의 자바 스크립트를 수정하여 "개방"클래스를 추가하여 수정함으로써 해결됩니다. 그때까지는 그것을 사용하거나 다른 답변 중 하나에서 JS를 사용하십시오.
Carl Bussema

56
이 게시물이 오래된 게시물이라는 것을 알고 있지만 Carl의 문제에 답하기 위해 "accordion-toggle"을 사용하여 모든 앵커 태그에 "collapsed"클래스를 추가하면 문제가 사라집니다 .... "accordion-toggle collapsed ". 그런 다음 JQuery는 필요할 때 클래스를 추가하고 제거합니다.
steakpi

5
전체 헤더를 클릭 할 수 있도록이 예제를 수정했습니다. 내가 알아 차린 사소한 버그 하나는 슬라이드 열기 / 닫기 애니메이션이 완료 될 때까지 각 패널의 맨 오른쪽에있는 텍스트가 약간 "푸시"된다는 것입니다. 누구든지 그것을 고치는 방법을 알고 있다면 그렇게하십시오. 바이올린은 다음과 같습니다. JSFiddle 업데이트
Pieter VDE

57

이런 종류의 코드를 사용할 수 있습니다.

function toggleChevron(e) {
    $(e.target)
        .prev('.panel-heading')
        .find('i.indicator')
        .toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
}
$('#accordion').on('hidden.bs.collapse', toggleChevron);
$('#accordion').on('shown.bs.collapse', toggleChevron);

=> 작동하는 JsFiddle


2
그것은 zessx보다 훨씬 좋은 방법입니다. 이것은 Bootstrap 3이 출시 된 이후 처음으로 본 깨끗한 솔루션입니다.
Ryan Scott

9
당신은 또한 사용할 수 있습니다$('#accordion').on('hidden.bs.collapse shown.bs.collapse', toggleChevron);
Sniper Wolf

4
당신이 화살표를 선호하는 경우 붕괴의 시작 부분에 대신 사용할 수있는 말에 이동 $('#accordion').on('hide.bs.collapse show.bs.collapse', toggleChevron);대신에
윌 파커

이것은 매우 잘 작동합니다. 아이콘을 더 빠르게 전환하려면 어떻게합니까?
Rachel S

@RachelS Will Parker의 제안은 더 빠릅니다.
Phil Jollans

22

가장 인상적인 답변을 개선하기 위해 페이지의 초기로드에서 셰브론이 모두 같은 방향을 가리키고 있음을 알게 될 것입니다. 로드하려는 요소에 "collapsed"클래스를 추가하면 문제가 해결됩니다.

<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="#collapseOne">
          Collapsible Group Item #1
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
          Collapsible Group Item #2
        </a>
      </h4>
    </div>
    <div id="collapseTwo" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
          Collapsible Group Item #3
        </a>
      </h4>
    </div>
    <div id="collapseThree" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

작동하는 바이올린은 다음과 같습니다. http://jsfiddle.net/3gYa3/585/


10

Bludream의 답변 개선 :

FontAwesome을 확실히 사용할 수 있습니다!

"패널 제목"클래스와 함께 "축소됨"을 포함해야합니다. "축소 된"클래스는 패널을 클릭 할 때까지 포함되지 않으므로 올바른 갈매기 형 표시를 위해 "축소 된"클래스를 포함 시키려고합니다 (즉, 축소 된 경우 갈매기 형 오른쪽이 표시되고 열려있는 경우 갈매기 형 아래로 표시).

HTML

<div class="panel panel-default">
    <div class="panel-heading collapsed" data-toggle="collapse" data-target="#collapseOrderItems1">Products 1 <i class="chevron fa fa-fw" ></i></div>
    <div class="collapse" id="collapseOrderItems1">
        <p>Lorem ipsum...</p>
    </div>
</div>

CSS

.panel-heading .chevron:after {
    content: "\f078";   
}
.panel-heading.collapsed .chevron:after {
    content: "\f054";   
}   

또한 기존 클래스를 사용하는 대신 새 클래스를 작성하는 것이 좋습니다.

예를 들어 Codepen을 참조하십시오 : http://codepen.io/anon/pen/PPxOJX


그리고 fontawesome 4 : 요소에 대한 fa-chevron-up 및 클래스에 대한 .collapsed .fa-chevron-up : before {content : "\ f077";}
Denis Chenu

9

biggates와 steakpi 덕분입니다. 질문 Dreamonic의 답변으로, 나는 모든 헤더를 클릭 할 수 있도록 (제목 문자열과 문양뿐만 아니라) 약간 변경하여 링크에서 밑줄을 그렸습니다. 아이콘을 같은 줄에 표시하려면 CSS 명령 끝에 h4를 추가했습니다. 다음은 수정 된 코드입니다.

<div class="panel-group" id="accordion">
  <div class="panel panel-default">
    <div class="panel-heading">      
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
          <h4 class="panel-title">Collapsible Group Item #1</h4>
        </a>      
    </div>
    <div id="collapseOne" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">      
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
          <h4 class="panel-title">Collapsible Group Item #2</h4>
        </a>      
    </div>
    <div id="collapseTwo" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="panel panel-default">
    <div class="panel-heading">      
        <a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
          <h4 class="panel-title">Collapsible Group Item #3</h4>
        </a>      
    </div>
    <div id="collapseThree" class="panel-collapse collapse">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

그리고 수정 된 CSS :

.panel-heading .accordion-toggle h4:after {
    /* symbol for "opening" panels */
    font-family: 'Glyphicons Halflings';  
    content: "\e114";    
    float: right;        
    color: grey;        
    overflow: no-display;
}
.panel-heading .accordion-toggle.collapsed h4:after {
    /* symbol for "collapsed" panels */
    content: "\e080";    
}
a.accordion-toggle{
    text-decoration: none;
}

7

다음은 HTML에서 모든 종류의 전환 콘텐츠를 처리 할 수있는 몇 가지 순수한 CSS 도우미 클래스입니다.

전환해야하는 모든 요소와 작동합니다. 어떤 레이아웃이든간에 토글 요소 내에 .if-collapsed 및 .if-not-collapsed 클래스가있는 몇 개의 요소 안에 배치하면됩니다.

유일한 캐치는 토글의 원하는 초기 상태를 설정해야한다는 것입니다. 처음 닫힌 경우 접힌 상태로 두십시오. 경우 토글에 클래스 .

또한 : not 선택기 IE8에서는 작동하지 않습니다.

HTML 예 :

<a class="btn btn-primary collapsed" data-toggle="collapse" href="#collapseExample">
  <!--You can put any valid html inside these!-->
  <span class="if-collapsed">Open</span>
  <span class="if-not-collapsed">Close</span>
</a>
<div class="collapse" id="collapseExample">
  <div class="well">
    ...
  </div>
</div>

적은 버전 :

[data-toggle="collapse"] {
    &.collapsed .if-not-collapsed {
         display: none;
    }
    &:not(.collapsed) .if-collapsed {
         display: none;
    }
}

CSS 버전 :

[data-toggle="collapse"].collapsed .if-not-collapsed {
  display: none;
}
[data-toggle="collapse"]:not(.collapsed) .if-collapsed {
  display: none;
}

6

나는 이것이 오래되었다는 것을 알고 있지만 2018 년 이래 지금은 코드를 단순화하고 쉐브론을 축소 여부에 따라 회전시켜 사용자 경험을 향상시켜 더 나은 답변을 줄 것이라고 생각했습니다. 그러나 FontAwesome을 사용하고 있습니다. CSS는 다음과 같습니다.

a[data-toggle="collapse"] .rotate {
   -webkit-transition: all 0.2s ease-out;
   -moz-transition: all 0.2s ease-out;
   -ms-transition: all 0.2s ease-out;
   -o-transition: all 0.2s ease-out;
   transition: all 0.2s ease-out;
   -moz-transform: rotate(90deg);
   -ms-transform: rotate(90deg);
   -webkit-transform: rotate(90deg);
   transform: rotate(90deg);
}
a[data-toggle="collapse"].collapsed .rotate {
   -moz-transform: rotate(0deg);
   -ms-transform: rotate(0deg);
   -webkit-transform: rotate(0deg);
   transform: rotate(0deg);
}

패널 섹션의 HTML은 다음과 같습니다.

  <div class="panel panel-default">
    <div class="panel-heading">
      <h4 class="panel-title">
        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
          Collapsible Group Item #1
          <i class="fa fa-chevron-right pull-right rotate"></i>
        </a>
      </h4>
    </div>
    <div id="collapseOne" class="panel-collapse collapse in">
      <div class="panel-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>

나는 오른쪽에서 부트 스트랩을 사용하여 쉐브론을 패널 제목의 오른쪽 끝까지 당기고 전체 너비와 반응성을 가져야합니다. CSS는 모든 애니메이션 작업을 수행하고 패널이 축소되었는지 여부에 따라 셰브론을 회전시킵니다. 단순한.


4

간단한 예제 작업

  • 신체 상태 표시 / 숨김
  • 부모에게 연락하십시오
  • 찾기 아이콘을
  • 아이콘 변경

간단하게 입력

HTML :

<body>
    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#jai">Jai</a>
        </div>
        <div id="jai" class="accordion-body collapse in">
            <div>
                <div class="accordion-inner">body content 1</div>
            </div>
        </div>
    </div>
    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">jai2</a>
        </div>
        <div id="collapseTwo" class="accordion-body collapse">
            <div>
                <div class="accordion-inner">body content 2</div>
            </div>
        </div>
    </div>
    <div class="accordion-group">
        <div class="accordion-heading">
            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapse3">jai3</a>
        </div>
        <div id="collapse3" class="accordion-body collapse">
            <div>
                <div class="accordion-inner">body content 3</div>
            </div>
        </div>
    </div>
</body>

자바 스크립트

$('div.accordion-body').on('shown', function () {
    $(this).parent("div").find(".icon-chevron-down")
           .removeClass("icon-chevron-down").addClass("icon-chevron-up");
});

$('div.accordion-body').on('hidden', function () {
    $(this).parent("div").find(".icon-chevron-up")
           .removeClass("icon-chevron-up").addClass("icon-chevron-down");
});

2

또는 ... 이렇게 스타일을 넣을 수 있습니다.

.panel-title a.collapsed {
     background: url(../img/arrow_right.png) center right no-repeat;
}
.panel-title a {
     background: url(../img/arrow_down.png) center right no-repeat;
}

http://codepen.io/anon/pen/GJjrQN


1

나는 멋진 글꼴을 사용하고 있습니다 ! 패널을 접을 수 있기를 원했습니다

        <div class="panel panel-default">
                <div class="panel-heading" data-toggle="collapse" data-target="#collapseOrderItems"><i class="fa fa-chevron fa-fw" ></i> products</div>

                <div class="collapse in" id="collapseOrderItems">
                            ....
                </div>
        </div>

그리고 CSS

.panel-heading .fa-chevron:after {
    content: "\f078";   
}
.panel-heading.collapsed .fa-chevron:after {
    content: "\f054";   
}

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


1

Angular는 JavaScript 기반 접근 방식 (적어도 내가 시도한 접근 방식)에 문제를 일으키는 것으로 보입니다. 이 솔루션을 여기에서 찾았습니다 : http://www.codeproject.com/Articles/987311/Collapsible-Responsive-Master-Child-Grid-Using-Ang . 그것의 요점은 data-ng-click토글 버튼 을 사용 하고 컨트롤러를 사용하여 버튼을 변경하는 방법을$scope 컨텍스트를 입니다.

더 자세한 정보를 제공 할 수 있다고 생각합니다 ... 내 버튼은 축소 된 div의 초기 상태의 글리프 아이콘으로 설정됩니다 (glyphicon-chevron-right == collapsed div).

page.html :

<div class="title-1">
    <button data-toggle="collapse" data-target="#panel-{{ p_idx }}" class="dropdown-toggle title-btn glyphicon glyphicon-chevron-right" data-ng-click="collapse($event)"></button>
</div>
<div id="panel-{{ p_idx }}" class="collapse sect">
    ...
</div>

controllers.js :

.controller('PageController', function($scope, $rootScope) {
    $scope.collapse = function (event) {
        $(event.target).toggleClass("glyphicon-chevron-down glyphicon-chevron-right");
    };
)

1

짧막 한 농담.

i.fa.fa-chevron-right.collapse.in { transform: rotate(180deg); }

이 예제에서는 접을 수있는 테이블 행을 그룹화하는 데 사용됩니다. 아이콘으로 대상 클래스 이름 (my-collapse-name)을 추가하기 만하면됩니다.

<tr data-toggle="collapse" data-target=".my-collapse-name">
    <th><i class="fa fa-chevron-right my-collapse-name"></span></th>
    <th>Master Row - Title</th>
</tr>
<tr class="collapse my-collapse-name">
    <td></td>
    <td>Detail Row - Content</td>
</tr>

<span class='caret my-collapse-name'></span>and 를 사용하여 Bootstrap의 기본 캐럿 클래스에서 동일한 작업을 수행 할 수 있습니다span.caret.collapse.in { transform: rotate(90deg); }


0

이것을 아코디언이 아닌 패널에서만 사용하려는 경우 다음 코드를 시도하십시오.

<div class="panel panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">
            <a class="collapse-toggle" data-toggle="collapse" href="#collapseExample" aria-expanded="false" aria-controls="collapseExample">Panel heading with title</a>
        </h4>
    </div>
    <div id="collapseExample" class="panel-collapse collapse in">
        <div class="panel-body">
            Panel content
        </div>
    </div>
</div>

-3

템플릿을 통해 즉석에서 추가 된 html을 축소 및 확장하고 싶을 때 순수한 html 접근 방식을 원했습니다! 나는 이것을 생각해 냈습니다 ...

https://jsfiddle.net/3mguht2y/1/

var noJavascript = ":)";

누군가에게 유용 할 수 있습니다 :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.