Twitter Bootstrap proporciona clases para alternar contenido, consulte https://github.com/twbs/bootstrap/blob/3ee5542c990817324f0a07b97d01d1fe206fd8d6/less/utilities.less .
Soy completamente nuevo en jQuery, y después de leer sus documentos, encontré otra solución para combinar Twitter Bootstrap + jQuery.
Primero, la solución para 'ocultar' y 'mostrar' un elemento (clase wsis-collapse) al hacer clic en otro elemento (clase wsis-toggle), es usar .toggle .
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle();
});
});
Ya ha ocultado el elemento .wsis-collapse
utilizando la clase Twitter Bootstrap (V3) .hidden
también:
.hidden {
display: none !important;
visibility: hidden !important;
}
Cuando hace clic en .wsis-toggle
, jQuery agrega un estilo en línea:
display: block
Debido a que !important
en Twitter Bootstrap, este estilo en línea no tiene ningún efecto, por lo que debemos eliminar la .hidden
clase, ¡pero no lo recomendaré .removeClass
para esto! Porque cuando jQuery va a ocultar algo nuevamente, también agrega un estilo en línea:
display: none
Esto no es lo mismo que la clase .hidden de Twitter Bootstrap, que también está optimizada para AT (lectores de pantalla). Entonces, si queremos mostrar el div oculto, debemos deshacernos de la .hidden
clase de Twitter Bootstrap, por lo que nos deshacemos de las declaraciones importantes, pero si lo ocultamos nuevamente, ¡queremos .hidden
recuperar la clase nuevamente! Podemos usar [.toggleClass] [3] para esto.
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden" );
});
});
De esta manera, sigue usando la clase oculta cada vez que se oculta el contenido.
La .show
clase en TB es en realidad la misma que el estilo en línea de jQuery, ambos 'display: block'
. Pero si la .show
clase en algún momento será diferente, entonces simplemente agrega esta clase también:
jQuery(document).ready(function() {
jQuery(".wsis-toggle").click(function(){
jQuery(".wsis-collapse").toggle().toggleClass( "hidden show" );
});
});