Ocultar y mostrar elementos con jQuery Febrero 5, 2009
Publicado por lineadecodigo en : jQuery , trackbackOcultar y mostrar elementos nos permitirá un gran dinamismo dentro de nuestras páginas web. Esto lo podremos hacer modificando las propiedades CSS de los elementos dinámicamente con JavaScript. jQuery nos ayudará a realizar esta tarea de una forma más sencilla. Si queremos ocultar y mostrar elementos con jQuery podemos apoyarnos en las funciones show y hide.
En nuestro ejemplo la página se compondrá de una capa con el texto y dos botones, a los que asignaremos la propiedades de ocultar y mostrar elementos. Nuestro código HTML es el siguiente:
<button id="ocultar">Ocultar Texto</button> <button id="mostrar">Mostrar Texto</button> <div id="msgid1">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus a nunc. Ut ac purus. Mauris tempor, arcu aliquam pulvinar elementum, sapien pede consequat lectus, id lobortis justo mi nec eros. Integer condimentum leo at risus. Aenean vel mauris eget lectus condimentum laoreet. Duis dictum. Etiam mattis pretium metus. Vestibulum diam lectus, egestas in, semper consectetur, iaculis et, arcu. Integer ut lacus. Curabitur tempus nibh. Vivamus consectetur velit eget nulla. Sed at libero sit amet nulla commodo suscipit. Nunc elementum. Mauris magna lorem, tristique et, semper a, feugiat pulvinar, eros. Mauris lacus velit, vehicula ut, faucibus porttitor, ultrices id, ipsum. Vivamus ligula sem, interdum et, porttitor nec, commodo eu, odio. Nullam id lacus. Donec feugiat adipiscing dui. Nullam lobortis mi ac sem.</div>
Ahora vamos con el código jQuery. Lo que haremos será gestionar el evento click de los botones y asignarles la función que nos permite ocultar y mostrar elementos con jQuery.
$("#ocultar").click(); $("#mostrar").click();
Accedemos a los botones mediante su id y anteponiéndolos la almohadilla (#).
Como hemos comentado antes las funciones para ocultar y mostrar elementos con jQuery son hide y show, las cuales asignaremos a los botones #ocultar y #mostrar respectivamente. Ambas funciones tienen la siguiente sintaxis:
hide (velocidad, funcion_callback); show (velocidad, funcion_callback);
La velocidad tendrá el valor de la velocidad con la que queremos que se muestren u oculten las cosas. Los valores posibles son: slow, normal y fast o bien los milisegundos que queremos que se tarde. Por otro lado la funcion_callback será la función a la cual queremos llamar al acabar de ejecutar la función show o hide. El parámetro de funcion_callback es opcional.
De esta manera nuestro código para ocultar y mostrar elementos con jQuery sería de la siguiente forma:
$("#ocultar").click(function(){$("#msgid1").hide("slow")}); $("#mostrar").click(function(){$("#msgid1").show("slow")});
Solo nos quedará ponerlo dentro de la función ready(), básica para jQuery.
$(document).ready(function(){ $("#ocultar").click(function(){$("#msgid1").hide("slow")}); $("#mostrar").click(function(){$("#msgid1").show("slow")}); });
Articulos Similares:
- Usando cookies con jQuery
- Modificar el estilo con jQuery
- Evitar que se ejecute un evento con jQuery
- Peticiones AJAX con jQuery
- Modificar el contenido de una capa con jQuery
|- Reportar error en el código
|- Foro sobre jQuery
Enviar entrada por email
|
Imprimir
| 6121 visitas





Comentarios»
Hola me sirvio de mucho…
Tengo una pregunta como hago para que el texto aparezca oculto por defecto.
Hola Jose:
Antes que nada poner:
$(“#ocultar”).hide();
Me gustó como se explica el código.
Soy extremadamente nuevo en jquery (desde ya mismo), así que voy a estar seguido por acá.
Gracias!
no me va, que estaré haciendo mal ??
if (…) {
$(‘#lblFacturaCompra’).show(); //para mostrar
}
donde el el control (lblFacturaCompra) es un Label que en sus Propiedades tiene Visible = False
@Netzio,
Te recomiendo que pegues tu código en nuestro foro de jQuery para poderlo revisar en detalle.
@gdgddgs no es: $(“#ocultar”).hide();
es: $(“#msgid1″).hide();
Excelente explicacion!
Gracias
Carnal gracias
Yo no buscaba exactamente esto pero me parecio muy bueno tu articulo.
Poco explicacion, funcional y claro.
Saludos.
Hola, tengo una consulta, como se puede hacer para que al ocultar el texto ya no lo vueva a mostrar? Ya intenté usar una cookie jquery pero no me sale!
Gracias…
@Buru,
El usar la cookie es muy buena idea. jQuery no viene con la gestión de cookies y es por ello que hay que usar un plugin http://plugins.jquery.com/project/cookie.
El código es muy sencillo:
$.cookie('micookie', 'valor'); //Para crearla $.cookie('micookie'); //Para leerlaTu duda me parece muy buena para escribir un artículo… así que entre hoy y mañana escribiré explicándolo.
Gracias, ya pude solucionarlo, lo que hice fué robar el codigo fuente de una página, luego lo desintegré con FIREBUG e implementarlo. No es nada facil pero funciona! Estaría genial que publiques un tuto, porque en google todavía no ví ningún tuto al respecto, no está mal mi idea no? jajajaja
Bay y gracias! =)
@Buru_14,
Ya tienes el ejemplo sobre la gestión de cookies en jQuery en el artículo Usando cookies con jQuery
Espero que te guste.
[...] crearemos el código necesario para esta actividad. Puedes ver la explicación de este código en Ocultar y mostrar elementos con jQuery. Pero básicamente consistirá en el manejo de las funciones de jQuery: .hide() y [...]
ola tengo un ligero problema,
tengo que ocular un cuadro de texto e imegenes, ect.
pero al momento en el que se oculta tengo que hacer que la etiqueta “ocultar”, cambie por “mostrar”… aki esta el cod
function mostrarOcultar()
{
if(document.getElementById(‘carro’).style.display == ‘none’)
document.getElementById(‘carro’).style.display = ‘block’;
else
document.getElementById(‘carro’).style.display = ‘none’;
}
*-*-*-*-*-*-* html
Ocultar
– es asi agrandes rasgos.