Twitter Bootstrap bietet Klassen zum Umschalten von Inhalten, siehe https://github.com/twbs/bootstrap/blob/3ee5542c990817324f0a07b97d01d1fe206fd8d6/less/utilities.less .
Ich bin völlig neu in jQuery und nachdem ich ihre Dokumente gelesen hatte, kam ich zu einer anderen Lösung, um Twitter Bootstrap + jQuery zu kombinieren.
Erstens besteht die Lösung zum "Ausblenden" und "Anzeigen" eines Elements (Klasse wsis-Collapse) beim Klicken auf ein anderes Element (Klasse wsis-toggle) in der Verwendung von .toggle .
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle();
});
});
Sie haben das Element bereits .wsis-collapse
mithilfe der Twitter Bootstrap (V3) -Klasse ausgeblendet .hidden
:
.hidden {
display: none !important;
visibility: hidden !important;
}
Wenn Sie auf klicken .wsis-toggle
, fügt die jQuery einen Inline-Stil hinzu:
display: block
Aufgrund des !important
Twitter-Bootstraps hat dieser Inline-Stil keine Auswirkung, daher müssen wir die .hidden
Klasse entfernen , aber ich werde dies nicht empfehlen .removeClass
! Denn wenn jQuery etwas wieder ausblendet, wird auch ein Inline-Stil hinzugefügt:
display: none
Dies ist nicht dasselbe wie die .hidden-Klasse von Twitter Bootstrap, die auch für AT (Screenreader) optimiert ist. Wenn wir also das versteckte Div zeigen wollen, müssen wir die .hidden
Klasse von Twitter Bootstrap loswerden, damit wir die wichtigen Anweisungen loswerden, aber wenn wir es wieder verstecken, wollen wir die .hidden
Klasse wieder haben! Wir können dafür [.toggleClass] [3] verwenden.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden" );
});
});
Auf diese Weise verwenden Sie die versteckte Klasse jedes Mal, wenn der Inhalt ausgeblendet wird.
Die .show
Klasse in TB entspricht tatsächlich dem Inline-Stil der jQuery 'display: block'
. Aber wenn die .show
Klasse irgendwann anders sein wird, fügen Sie einfach auch diese Klasse hinzu:
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden show" );
});
});