div
を表示および非表示にしますが、デフォルトで非表示にし、クリック時に表示および非表示にできるようにします。これが私が作ったコードです:
<a class="button" onclick="$('#target').toggle();">
<i class="fa fa-level-down"></i>
</a>
<div id="target">
Hello world...
</div>
style="display:none";
に水<div>
を追加するだけです
私が言うフィドル: http://jsfiddle.net/krY56/13/
jQuery:
function toggler(divId) {
$("#" + divId).toggle();
}
CSSクラス.hidden
を持つことが望ましい
.hidden {
display:none;
}
ここでは、Bootstrapフレームワークの組み込み機能のみを使用してこれを行う方法を提案します。
div
にIDがあることを確認する必要があります。class
の「折りたたみ」があり、これはデフォルトでブロックを非表示にします。 divを折りたたみ可能にし、デフォルトで表示する場合は、折りたたみに「in」クラスを追加する必要があります。そうしないと、トグル動作が正しく機能しません。data-toggle="collapse"
を追加して、Bootstrapにこのタグに適切なトグルスクリプトを追加するよう指示します。既にBootstrapフレームワークが含まれているページに直接コピーアンドペーストできるコードサンプルを次に示します。
<a href="#Foo" class="btn btn-default" data-toggle="collapse">Toggle Foo</a>
<button href="#Bar" class="btn btn-default" data-toggle="collapse">Toggle Bar</button>
<div id="Foo" class="collapse">
This div (Foo) is hidden by default
</div>
<div id="Bar" class="collapse in">
This div (Bar) is shown by default and can toggle
</div>
これを試してください:
<button class="button" onclick="$('#target').toggle();">
Show/Hide
</button>
<div id="target" style="display: none">
Hide show.....
</div>
この質問は少し古く、Google検索で同様の問題が表示されるので、@ CowWarriorの回答の上にもう少し詳しく説明すると思います。似たようなソリューションを探していましたが、無数のSO質問/回答とBootstrapドキュメントを精査した後、ソリューションは非常に簡単でした。繰り返しますが、これは組み込みのBootstrap collapse
クラスを使用して、divとBootstrapの「Collapse Event」を表示/非表示にします。
私が気づいたのは、Bootstrap Accordionを使用して簡単に実行できることですが、ほとんどの場合、必要な機能はAccordionに「多少」似ていますが、望む方法が異なります。 navbar
のメニューボタンに基づいて、たとえば、<div>
を非表示にするには。以下は、これに対する簡単な解決策です。アンカータグ(<a>
)はnavbarアイテムであり、折りたたみイベントに基づいて、対応するdivが既存のdivを置き換えます。 CodeSnippetでは少し見栄えが悪いように見えますが、機能を実現するにはかなり近づいています。
JavaScriptが行うことは、他のすべての<div>
を非表示にすることだけです
$(".main-container.collapse").not($(this)).collapse('hide');
collapseイベント<div>
をチェックして、ロードされたshown.bs.collapse
が表示されるとき。これがBootstrap documentation on Collapseイベントです。
注:main-container
は単なるカスタムクラスです。
ここに行く-
$(".main-container.collapse").on('shown.bs.collapse', function () {
//when a collapsed div is shown hide all other collapsible divs that are visible
$(".main-container.collapse").not($(this)).collapse('hide');
});
<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"/>
<a href="#Foo" class="btn btn-default" data-toggle="collapse">Toggle Foo</a>
<a href="#Bar" class="btn btn-default" data-toggle="collapse">Toggle Bar</a>
<div id="Bar" class="main-container collapse in">
This div (#Bar) is shown by default and can toggle
</div>
<div id="Foo" class="main-container collapse">
This div (#Foo) is hidden by default
</div>