Foros del Web » Programando para Internet » Javascript »

ocultar y desocultar elementos

Estas en el tema de ocultar y desocultar elementos en el foro de Javascript en Foros del Web. quiero hacer algo similar a lo que tiene en la pagina principal de los forosdelweb que tiene un boton donde oculta o desoculta las filas ...
  #1 (permalink)  
Antiguo 06/10/2005, 06:50
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
ocultar y desocultar elementos

quiero hacer algo similar a lo que tiene en la pagina principal de los forosdelweb que tiene un boton donde oculta o desoculta las filas de las diferentes secciones del foro. alguien me puede pasar un codigo o decirme en donde puedo conseguir algo asi o como se llama a esta funcion para buscarla.
Tambien lo tiene la parte de respuestas rapidas en la esquina derecha un boton con flechita para arriba y cuando la presionas cambia la imagen a una flecha para abajo y se contrae u oculta esa fila
desde ya muchas gracias
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #2 (permalink)  
Antiguo 06/10/2005, 07:18
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Información Estilo visibility

Hola virla!
Si no me equivoco, para mostrar/ocultar elementos usan capas. Aunque tambien depende de lo que quieras ocultar.
Digamos que sea una fila en una tabla. Para ocultarla seria asi:
<tr style="visibility:hidden"></tr>
Y para mostrarla:
<tr style="visibility:visible"></tr>
Bueno, esto es lo poco que sé sobre esto. Seguramente, alguien dara una mejor idea.
suerte
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 06/10/2005, 07:22
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
esto bien básico:

Código HTML:
<script>
function Toggle(tabla) {
  tabla = document.getElementById(tabla);
  var label = document.getElementById("label_button");
  
  if (tabla.style.display == "none") {
   tabla.style.display = "block";
   label.innerText = "[Cerrar]";
  } else {
   tabla.style.display = "none";
   label.innerText = "[Abrir]";
  }
 }
</script> 
Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Titulo de la Tabla</td>
    <td><a href="javascript:void(0);" onClick="Toggle('mi_tabla')"><span id="label_button">[Cerrar]</span></a></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000;" id="mi_tabla">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #4 (permalink)  
Antiguo 06/10/2005, 07:31
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
lo prove y funciona muy bien y es eso lo que quisiera, pero como hago para que en vez de que sea la palabra cerrar o abrir sean imagenes, sori pero de javascript no se nada
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #5 (permalink)  
Antiguo 06/10/2005, 07:35
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
con gusto:

Código HTML:
function Toggle(tabla) {
  tabla = document.getElementById(tabla);
  var img = document.getElementById("img_button");
  
  if (tabla.style.display == "none") {
   tabla.style.display = "block";
   img.src = "dir/cerrar.gif";
  } else {
   tabla.style.display = "none";
   img.src = "dir/abrir.gif";
  }
 }
Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Titulo de la Tabla</td>
    <td><a href="javascript:void(0);" onClick="Toggle('mi_tabla')"><img id="img_button" src="cerrar.gif" border="0"></a></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000;" id="mi_tabla">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #6 (permalink)  
Antiguo 06/10/2005, 08:05
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
ok, muchas gracias muchachos por la ayuda, se agradece de todo corazon
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #7 (permalink)  
Antiguo 06/10/2005, 08:19
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
hay solo un error no me cambia la imagen solo desaparece que puede ser?, otra cosa que veo es, tengo varios togles pero al precionar sobre cualquiera de ellos que no sea el primero cambia la imagen del primero y no del que estoy precionando, en realidad no cambia la imagen solo deja vacio, que puede ser esto?
otra cosita, si quiero que al abrir la pagina aparezcan algunos de ellos ocultos, que deveria hacer?
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla

Última edición por virla; 06/10/2005 a las 08:45
  #8 (permalink)  
Antiguo 06/10/2005, 08:38
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
la ruta de la imagen no está bien, la extensión, el nombre, etc.
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #9 (permalink)  
Antiguo 06/10/2005, 09:00
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
bueno lo de la imagen funciona bien, pero sigo con los otros problemas que al hacer clik en otros que no sean el primero, ma cambia la imagen del primero y no del que estoy haciendo click y el tema de que algunos queden ocultos y otros visibles
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #10 (permalink)  
Antiguo 06/10/2005, 09:06
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
ok, ya veo. para ello tiene que poner a cada uno un id diferente, eso seria a la imagen y a la tabla. asi:

Código HTML:
function Toggle(tabla) {
  tabla = document.getElementById(tabla);
  var img = document.getElementById("img_" + tabla);
  
  if (tabla.style.display == "none") {
   tabla.style.display = "block";
   img.src = "dir/cerrar.gif";
  } else {
   tabla.style.display = "none";
   img.src = "dir/abrir.gif";
  }
 }
Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Titulo de la Tabla</td>
    <td><a href="javascript:void(0);" onClick="Toggle('mi_tabla1')"><img id="img_mi_tabla1" src="cerrar.gif" border="0"></a></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000;" id="mi_tabla1">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>Titulo de la Tabla</td>
    <td><a href="javascript:void(0);" onClick="Toggle('mi_tabla2')"><img id="img_mi_tabla2" src="cerrar.gif" border="0"></a></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000;" id="mi_tabla2">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
asi sucesivamente...
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #11 (permalink)  
Antiguo 06/10/2005, 09:26
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
me sale este error 'null' es nulo o no es un objeto y la linea que me marca es esta

img.src = "/Img/textos/BotonOculta.gif";

mis tablas las llamo asi
onClick="Toggle('NotLocales')
wl id de la imagen le pongo
id="img_NotLocales"

creo que es asi como tiene que ser segun interpreto el ejemplo que me pusistes
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #12 (permalink)  
Antiguo 06/10/2005, 09:53
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
listo, modifica estas dos lineas:

Código HTML:
var img = document.getElementById("img_" + tabla);
tabla = document.getElementById(tabla);
saludos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #13 (permalink)  
Antiguo 06/10/2005, 18:06
 
Fecha de Ingreso: julio-2005
Mensajes: 39
Antigüedad: 18 años, 9 meses
Puntos: 0
Ese código que habeis puesto me viene de perlas, muchas gracias. Solo tengo una duda:
¿Que he de hacer para que la tabla este oculta por defecto al abir la pagina web?
  #14 (permalink)  
Antiguo 07/10/2005, 07:54
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
la verdad yo tambien queria eso, pero el amigo Saruman ya me ha ayudado demaciado, espero que alguno de los demas expertos puedan darnos una mano con esto ultimo
gracias Saruman por tu ayuda
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #15 (permalink)  
Antiguo 07/10/2005, 08:52
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Hola virla y davidcelta!
Lo que necesitais es poner:
Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000; visibility:hidden;" id="mi_tabla2">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
Amigo Saruman, me parece que seria mejor usar visibility, ya es especifico para lo que vosotros quereis. Desde luego display, permite hacer lo mismo, pero no es su objetivo.
Yo no soy experto, pero me parece que asi es mejor. Bienvenidas las criticas!
suerte a todos
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #16 (permalink)  
Antiguo 07/10/2005, 09:06
Avatar de Saruman  
Fecha de Ingreso: mayo-2003
Ubicación: Panama city, Panama, Panama
Mensajes: 1.154
Antigüedad: 21 años
Puntos: 5
Cita:
Iniciado por flaviovich
Amigo Saruman, me parece que seria mejor usar visibility, ya es especifico para lo que vosotros quereis. Desde luego display, permite hacer lo mismo, pero no es su objetivo.

bueno, yo siempre he usado display..... y en la mayoria de los scripts siempre he visto más display que visibility... por tal razón fué que lo usé y sigo utilizando...
críticas aceptadas

finalmente quedaría asi:

Código HTML:
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border:1px solid #000000;" id="mi_tabla2" style="display:none;">
  <tr>
    <td>&nbsp;</td>
  </tr>
</table> 
ya que si no le ponemos el "display" en la función no lo reconocerá la primera vez que se "cliké"
saludos a todos
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  #17 (permalink)  
Antiguo 07/10/2005, 12:06
Avatar de virla  
Fecha de Ingreso: julio-2002
Ubicación: Rio Gallegos - Santa Cruz
Mensajes: 893
Antigüedad: 21 años, 9 meses
Puntos: 1
Mil gracias por toda tu ayuda Saruman y demas ahora creo que muchos otros mas podran veneficiarce de este codigo que han dejado
mil gracias de nuevo.
trabajo terminado, para mi
__________________
---->Sin ayuda no se llega a ningun lado<----
Virla
  #18 (permalink)  
Antiguo 07/10/2005, 13:15
 
Fecha de Ingreso: julio-2005
Mensajes: 39
Antigüedad: 18 años, 9 meses
Puntos: 0
Muchas gracias a los dos y a Virla por adelantarse al abrir el tema (yo ya me he beneficiado del código como dices y seguro que no seré el último)

Es interesante tener las dos versiones.
Visibilty guarda el espacio asignado al elemento aun cuando no lo muestra (hidden), mientras que Display "despliega" su contenido al mostrarse.

Salud!
  #19 (permalink)  
Antiguo 27/08/2007, 03:06
 
Fecha de Ingreso: agosto-2007
Mensajes: 16
Antigüedad: 16 años, 8 meses
Puntos: 3
Re: ocultar y desocultar elementos

Interesante el efectillo, muchas gracias, andaba buscandolo.
  #20 (permalink)  
Antiguo 05/11/2010, 09:30
 
Fecha de Ingreso: noviembre-2010
Mensajes: 24
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: ocultar y desocultar elementos

Hola... como puedo hacer que se oculte un label y un textbox al seleccionar una opcion especifica de un dropdownlist. Es decir si selecciono uno de las opciones que tienen mi drop se me oculta el textbox y el label y su vuelvo a selecionar la misma opcion de mi drop se me aparezca el label y texboxt.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:58.