Foros del Web » Programando para Internet » Javascript »

mostrar ocultar capas DOM

Estas en el tema de mostrar ocultar capas DOM en el foro de Javascript en Foros del Web. Hola a todos Tengo la siguiente funcion para mostrar u ocultar capas haciendo click en unas pestañas (el menu) Código: function afficherOnglets(nbrOnglets, id_onglet) { var ...
  #1 (permalink)  
Antiguo 21/11/2009, 02:46
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
mostrar ocultar capas DOM

Hola a todos

Tengo la siguiente funcion para mostrar u ocultar capas haciendo click en unas pestañas (el menu)

Código:
function afficherOnglets(nbrOnglets, id_onglet) 
{	
	var tab = id_onglet.split('ong'); 
	
	for (i=1;i<=nbrOnglets;i++){
		if(tab[1] == i){
			mon_element = document.getElementById(id_onglet);
			
			mon_element.setAttribute("class","cursorPointer current"); 
			mon_element.setAttribute("className","cursorPointer current"); 
			document.getElementById('content_onglet_'+i).style.display='block';
			
		}else{
			
			mon_element = document.getElementById("ong"+i);
			
			mon_element.setAttribute("class","cursorPointer"); 
			mon_element.setAttribute("className","cursorPointer"); 
			document.getElementById('content_onglet_'+i).style.display='none';
			
		}
	}
}
En las pestañas tengo el siguiente código

Código:
<ul>
<li  id='ong1' class='cursorPointer current' onclick='afficherOnglets(5,this.id)' ><a>Pestaña 1</a></li>
<li id='ong2' class='cursorPointer ' onclick='afficherOnglets(5,this.id)' ><a>Pestaña 2</a></li>
<li id='ong3' class='cursorPointer ' onclick='afficherOnglets(5,this.id)' ><a>Pestaña 3</a></li>
<li id='ong4' class='cursorPointer ' onclick='afficherOnglets(5,this.id)' ><a>Pestaña 4</a></li>	
<li id='ong5' class='cursorPointer ' onclick='afficherOnglets(5,this.id)' ><a>Pestaña 5</a></li>		
</ul>
Hasta aqui todo funciona perfectamente. Cuando entro en la página se muestra la primera capa y las demás está ocultas. Si hago click en la segunda pestaña del menu, se muestra la segunda y se oculta la primera...
Lo que necesito es poder entrar en la página y poder indicar mediante un valor en la URL la capa a mostrar por ejemplo: www.midominio.com/pagina.php?pestana=2 y que se muestre la pestaña 2... Esto no se como hacerlo... ¿Alguna sugerencia?
  #2 (permalink)  
Antiguo 21/11/2009, 03:04
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: mostrar ocultar capas DOM

tienes que leer el valor pasado en la URL cuando termine la carga del documento, o al menos luego del navegador crear los elementos implicado. para leer el valor utiliza las propiedades el objeto location. un ejemplo podria ser,
Código:
onload = function(){
afficherOnglets(5, location.search.split("=")[0]);
}
la porcion en rojo puede variar si la URL contiene mas de una "variable".
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 23/11/2009, 02:05
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: mostrar ocultar capas DOM

lo voy a probar zerokilled, gracias¡
  #4 (permalink)  
Antiguo 23/11/2009, 04:27
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: mostrar ocultar capas DOM

con la funcion onload, le he pasado la id de la capa a mostrar mediante php, pero me dice que la capa no está definida... No sé como debo llamar a la funcion, porque con onload no me funciona
  #5 (permalink)  
Antiguo 23/11/2009, 04:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: mostrar ocultar capas DOM

Hola:

Si usas php tal vez sea mejor inicializar con php... sobre el código del amigo zerokilled, parece que debería ser:

onload = function(){
afficherOnglets(5, "ong" + location.search.split("=")[1]);
}

Y sobre tu código, hay redundancias... puedes usar:

Código:
mon_element.className = "cursorPointer current";
en vez de:

Código:
mon_element.setAttribute("class","cursorPointer current"); 
mon_element.setAttribute("className","cursorPointer current");
Y por supuesto hacer el mismo cambio en el else.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 23/11/2009, 04:50
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: mostrar ocultar capas DOM

@edit,
la explicacion de caricatos (hola ) esta mejor que la mia.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 23/11/2009, 05:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: mostrar ocultar capas DOM

Cita:
Iniciado por zerokilled Ver Mensaje
@edit,
la explicacion de caricatos (hola ) esta mejor que la mia.
Hola:

Bueno, la idea ha sido tuya, pero al usar el índice 0 del split, en el ejemplo se obtendría "?pestana", cuando se busca en realidad el índice 1 (Je, je... yo puse en las FAQs uno de los sistemas para obtener variables por url...) -yo también tecleo muchas cosas que no pienso -.

Lo del className ha sido uno de mis primeros "encontronazos" con JavierB (un amigo ) que dejó constancia en mi perfil.

Lo que quiero decir, es que no te quites méritos

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 23/11/2009, 05:09
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: mostrar ocultar capas DOM

Cita:
-yo también tecleo muchas cosas que no pienso-
me leistes la mente. ahora que mencionas lo del indice luego de split, me pregunto a mi mismo "que rayos estaba pensando yo en ese momento" pero nada, esas cosas son normales y le pasan a cualquiera. mas importante aun, es haber mencionado el error en el codigo porque sino estaria dando vueltas sin entender que hice mal. de hecho, por lo general sucede cuando no compruebo los codigos como en este caso
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 23/11/2009, 09:37
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: mostrar ocultar capas DOM

muchisimas gracias a los 2. lo pruebo y comento
graaaaaaaaaaaacias
  #10 (permalink)  
Antiguo 23/11/2009, 10:48
 
Fecha de Ingreso: junio-2003
Mensajes: 778
Antigüedad: 20 años, 10 meses
Puntos: 1
Respuesta: mostrar ocultar capas DOM

funcionó perfectamente¡¡¡
muuuuuuuuuuuuuuuuuuuchas gracias por vuestra ayuda. Da gusto recibir consejos de vosotros¡¡
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 20:29.