Twitter Bootstrap은 컨텐츠 토글을위한 클래스를 제공합니다 ( https://github.com/twbs/bootstrap/blob/3ee5542c990817324f0a07b97d01d1fe206fd8d6/less/utilities.less 참조) .
나는 jQuery를 완전히 처음 접했고 문서를 읽은 후에 Twitter Bootstrap + jQuery를 결합하는 다른 솔루션을 찾았습니다.
먼저 다른 요소 (클래스 wsis-toggle)를 클릭 할 때 요소 (클래스 wsis-collapse)를 '숨기고'표시하는 솔루션은 .toggle 을 사용하는 것 입니다.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle();
});
});
.wsis-collapse
Twitter Bootstrap (V3) 클래스를 사용하여 이미 요소 를 숨겼습니다 .hidden
.
.hidden {
display: none !important;
visibility: hidden !important;
}
를 클릭 .wsis-toggle
하면 jQuery가 인라인 스타일을 추가합니다.
display: block
때문에의 !important
트위터 부트 스트랩에, 우리는 제거해야 할 수 있도록이 인라인 스타일은 아무런 효과가 없습니다 .hidden
클래스를,하지만 난 추천하지 않습니다 .removeClass
이를 위해! jQuery가 무언가를 다시 숨길 때 인라인 스타일도 추가하기 때문에 :
display: none
이것은 AT (스크린 리더)에 최적화 된 Twitter 부트 스트랩의 .hidden 클래스와 동일하지 않습니다. 따라서 숨겨진 div를 표시하려면 .hidden
Twitter Bootstrap 클래스를 제거해야 하므로 중요한 진술을 제거하지만 다시 숨기면 .hidden
클래스를 다시 만들고 싶습니다 ! 이를 위해 [.toggleClass] [3]을 사용할 수 있습니다.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden" );
});
});
이렇게하면 컨텐츠가 숨겨 질 때마다 숨겨진 클래스를 계속 사용합니다.
.show
TB 의 클래스는 실제로 jQuery의 인라인 스타일과 동일합니다 'display: block'
. 그러나 .show
어떤 시점에서 수업이 다를 경우이 클래스를 추가하기 만하면됩니다.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden show" );
});
});