2013-07-09 4 views
0

하위 요소로 확장되는 몇 가지 항목과 열린 항목을 닫을 자식 요소가없는 2 가지 항목 만 사용하여 아코디언을 만들려고합니다. Twitter 내용이없는 부트 스트랩 아코디언 그룹 항목

은 내가 fiddle setup here

당신은 항목 # 3에 볼 수있는 거기 .accordion - 내부 사업부 콘텐츠하지만 난 그게 표시하지 않습니다. 또한 # 4 번 항목에는 아코디언을 완전히 깨뜨리는 .accordion-inside inside #collapse4our가 표시됩니다.

질문 1 : Twitter 부트 스트랩 아코디언으로 가능합니까?

질문 2 :이 프로세스를 수행하는 더 좋은 방법이 있습니까?

코드 :

<div class="accordion" id="accordion2"> 
    <div class="accordion-group"> 
    <div class="accordion-heading"> 
     <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne"> 
     Collapsible Group Item #1 
     </a> 
    </div> 
    <div id="collapseOne" class="accordion-body collapse in"> 
     <div class="accordion-inner"> 
     Anim pariatur cliche... 
     </div> 
    </div> 
    </div> 
    <div class="accordion-group"> 
    <div class="accordion-heading"> 
     <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo"> 
     Collapsible Group Item #2 
     </a> 
    </div> 
    <div id="collapseTwo" class="accordion-body collapse"> 
     <div class="accordion-inner"> 
     Anim pariatur cliche... 
     </div> 
    </div> 
    </div> 
    <div class="accordion-group"> 
    <div class="accordion-heading"> 
     <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree"> 
     Collapsible Group Item #3 
     </a> 
    </div> 
    <div id="collapseThree" class="accordion-body collapse"> 
     <div class="accordion-inner"> 
     This is where i do not need child elements 
     </div> 
    </div> 
    </div> 
    <div class="accordion-group"> 
    <div class="accordion-heading"> 
     <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseFour"> 
     Collapsible Group Item #4 
     </a> 
    </div> 
    <div id="collapseFour" class="accordion-body collapse"> 

    </div> 
    </div> 
</div> 

답변

2

jsFiddle 내가 믿는 태그에서 = "#의 collapseThree"요소 HREF를 제거 할 수 있습니다 당신이 찾고있는 것.

그냥 적절한 기능을 사용하여 숨 깁니다.

$('a[data-close]').click(function() { 
    $($(this).data('parent')).find('.in').collapse('toggle'); 
}); 

이 당신에게 멋진 슬라이드 전환 효과를 줄 것이다 : 이것에 대해, 나는 열려있는 모든 탭을 닫으려면 링크를 말할 수있는 속성을 추가하고이 jQuery를 기능을 사용하는 방법

$('#collapseFour').on('show', function() { 
    $('#collapseFour').collapse('hide'); 
}); 

$('#collapseThree').on('show', function() { 
    $('#collapseThree').collapse('hide'); 
}); 
+0

내가 기울기 시작한 곳 .. 단지 페이지에 여분의 jQuery를 추가하고 싶지 않았습니다. – kingkode

+0

부트 스트랩을 사용하는 경우 이미 jQuery가 많이 사용됩니다. 약간의 여분의 선에서는 해를 끼치 지 않는다. – Schmalzy

+1

이 메신저와 같이 보입니다. 반복 클래스와이 셀렉터를 사용하여 조금 수정했습니다. http://jsfiddle.net/VXtQY/2/ – kingkode

0

비 JQuery와 솔루션

이 업데이트 된 코드 here.

클릭하면 확대되지 않습니다 내부 3 회 아코디언을보십시오. 그리고 아코디언 - 내면이 붕괴 될 것입니다. 당신은 당신이 그것을 클릭 할 때이 다른 영역을 축소하지 않습니다 괜찮다면

+0

는 .... – Schmalzy

+0

은 당신의 노력에 감사드립니다. 확장 할 필요가없는 세 번째 항목은 계속 확장됩니다. – kingkode

+0

주심 어떤 아코디언 내부 붕괴되어 할 4 필요 .. 지금 항목 3 - 내부 아코디언 표시된을 축소하지 않습니다 @McMastermind 업데이트 된 답변을 참조하십시오 –

0

, 당신은이 정확히

+0

나는 붕괴되지 않을 것이라 생각합니다. 항목 3 또는 4를 클릭하면 모두 접혀 야합니다. – kingkode

0

.

첵 아웃 완전히 항목 3, 4 클릭되면 아코디언을 나누기 the fiddle

+0

고맙지 만,이 솔루션에 너무 많은 추가 무게가있다. 이것은 원래 데이터와는 반대로 JQ의 모든 토글과 114 문자에 새로운 데이터 태그를 추가해야한다. @Schmalzy가 제안한 jQ의 데이터 수와 60 자까지 – kingkode

+0

허용되는 솔루션보다 더 많은 가중치가 아니라 더 나은 UX를 제공한다고 생각하지 않습니다. 당신의 접근 방식에서 당신은 마지막 요소에'.accordion-inner'를 추가해야만했던 아코디언에 추가 클래스를 추가했습니다. 내 솔루션은'data-close' 속성을 링크에 추가하기 만하면됩니다 컨텐트를 표시하고 싶지 않더라도 원하는 경우 모든 현재 데이터 속성을 유지할 수 있으며 전체 부트 스트랩 마크 업을 가질 필요가 없습니다. –

관련 문제