Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] div que se oculta y muestra con js

Estas en el tema de div que se oculta y muestra con js en el foro de Javascript en Foros del Web. buenos días, solicito su ayuda en lo siguiente, de antemano muchas gracias: tengo un div con un valor para el atributo id tengo una función ...
  #1 (permalink)  
Antiguo 19/04/2015, 12:35
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 4 meses
Puntos: 2
Pregunta div que se oculta y muestra con js

buenos días,

solicito su ayuda en lo siguiente, de antemano muchas gracias:


tengo un div con un valor para el atributo id

tengo una función en js que obtiene el atributo display del div

si el atributo display es none, entonces lo hace block para hacer el div visible

si el atributo display del div es block, entonces lo cambia a none para hacer el div no visible

la funcion js es llamada con el evento onclick que se ejecuta al hacer clic sobre un enlace



el problema sucede cuando la página se carga por primera vez, pues el div en ese momento esta invisible, con display none el cual es especificado en el archivo css

entonces hasta ahí todo va bien, luego hago clic en el enlace y no me muestra el div
para que lo muestre debo hacer clic una vez más.

lo que pude evidenciar, con la siguiente sentencia dentro de la funcion js que muestra y oculta el div:

sentencia:

alert (document.getElementById(capa).style.display);

fue que luego de cargar la pagina web, y llamar por primera vez la función, el atributo display no tiene valor alguno, pero me parece extraño porque el css si se carga.

¿por qué sucede que cuando se llama por primera vez la anterior sentencia para un elemento de la pagina como es el caso del div, su valor de display se muestra vacío?

__________________
http://tecnologiaco.com/
  #2 (permalink)  
Antiguo 19/04/2015, 13:10
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: div que se oculta y muestra con js

Cuando defines los estilos en una hoja de estilos, debes de tomar el valor computado para la propiedad en cuestión.

Código Javascript:
Ver original
  1. alert(getComputedStyle(document.getElementById(capa)).display); //Mostrará el valor

Esta lectura te ayudará a despejar la duda.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 19/04/2015, 13:18
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: div que se oculta y muestra con js

Alexis88


muchas gracias por la respuesta, leí los dos enlaces:

¿quiere decir entonces que hay dos fuentes desde las cuales puedo saber cual es el valor de un atributo en css?

¿una que es la mas fiable, en este caso el atributo computado?

leí los artículos pero tal vez tu que tienes todo más claro me podrías ayudar a entenderlo mejor, de igual forma voy a buscar sobre css computado.

Pero si me puedes facilitar y agilizar el entendimiento te lo agradezco mucho.
__________________
http://tecnologiaco.com/
  #4 (permalink)  
Antiguo 19/04/2015, 13:27
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: div que se oculta y muestra con js

Como dice en el artículo, la forma elemento.style.propiedad debe de ser usada para asignar un valor y la forma getComputedStyle(elemento).propiedad, para tomarlo.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 19/04/2015, 13:43
Avatar de andresbetancourt  
Fecha de Ingreso: julio-2008
Ubicación: colombia
Mensajes: 334
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: div que se oculta y muestra con js

Gracias por tu ayuda Alexis

por si alguien más lee este hilo, les dejo este otro que halle en foros del web

a partir de la respuesta que me dio Alex

http://www.forosdelweb.com/f13/consu...script-982341/
__________________
http://tecnologiaco.com/

Etiquetas: funcion, js, muestra, oculta, valor
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 04:39.