Foros del Web » Programando para Internet » Javascript »

Optimizar javascript con expresiones regulares?

Estas en el tema de Optimizar javascript con expresiones regulares? en el foro de Javascript en Foros del Web. Buenas buenas! Buscando muchisimas maneras de imitar lo que se hacia en un frame, pero sin usar frames, encontre como mas practico esto de ocultar ...
  #1 (permalink)  
Antiguo 08/04/2008, 13:23
 
Fecha de Ingreso: noviembre-2006
Ubicación: Marindia - Uruguay
Mensajes: 11
Antigüedad: 18 años
Puntos: 1
Optimizar javascript con expresiones regulares?

Buenas buenas!

Buscando muchisimas maneras de imitar lo que se hacia en un frame, pero sin usar frames, encontre como mas practico esto de ocultar o hacer visibles determinados divs usando javascript.

Ahora bien, las divs en juego son 20, y pueden llegar a ser mas... Esto no seria problema supongo, si lo supiera hacer.

El codigo javascript que me imagino es algo asi

Código:
function amanec(){
document.getElementById('principalamaneciendo').style.visibility = "visible";
document.getElementById('principalcauces2x4').style.visibility = "hidden";
document.getElementById('principalentrearena').style.visibility = "hidden";
document.getElementById('principallavozdela').style.visibility = "hidden";
document.getElementById('principalrebeldes').style.visibility = "hidden";
document.getElementById('principalhechizo').style.visibility = "hidden";
document.getElementById('principaldetodo').style.visibility = "hidden";
document.getElementById('principalfutbol').style.visibility = "hidden";
document.getElementById('principalsintonia').style.visibility = "hidden";
document.getElementById('principalmania').style.visibility = "hidden";
document.getElementById('principalnunca').style.visibility = "hidden";
document.getElementById('principalemocion').style.visibility = "hidden";
document.getElementById('principalmusica').style.visibility = "hidden";
document.getElementById('principalcauctrop').style.visibility = "hidden";
document.getElementById('principaldivas').style.visibility = "hidden";
}
Pero claro, si hago eso para cada div me va a quedar un chorrete de codigo al pedo, como puedo de manera facil hacer que al mostrar una div me oculte todas las otras... podria ser todas las otras que empiecen con determinada cadena de texto, o todas las otras que esten incluidas dentro de una gran div contenedora...

www.laotraradio.com la pagina en cuestion es esa, y lo que quiero es que al pulsar sobre cada uno de los links, ya sea los de la izquierda, o los de la "barra de navegacion" se me cambie el contenido del div principal, que es el que esta debajo del flash con las fotos....

Desde ya les agradezco cualquier ayuda que me puedan brindar, y adelanto, aunque ya lo habran notado, que no se NADA de javascript.

Saludos desde Uruguay!!!
  #2 (permalink)  
Antiguo 08/04/2008, 14:05
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 9 meses
Puntos: 772
Re: Optimizar javascript con expresiones regulares?

Hola fedelosa

A ver si este código te sirve de orientación:

http://www.forosdelweb.com/f13/texto...gables-486123/

Saludos,
  #3 (permalink)  
Antiguo 08/04/2008, 15:09
 
Fecha de Ingreso: noviembre-2006
Ubicación: Marindia - Uruguay
Mensajes: 11
Antigüedad: 18 años
Puntos: 1
Re: Optimizar javascript con expresiones regulares?

Uhm... Lo estoy mirando y probando, pero no logro aplicarlo a lo que quiero

No se si logre expresarme bien, yo tengo una serie de enlaces, y quiero que al hacer clic en cada uno de ellos, me vaya mostrando la informacion correspondiente a ese enlace, y al hacer clic en otro me muestre la del otro pero ya no muestre la del anterior, etc etc...

Algo que con frames no es tan complicado, pero ya me convencieron de no usar frames! :P

EDIT: OK! OK! Lo logre, despues de reventarme un rato la cabeza con tu codigo JavierB, pude hacer lo que queria, tengo que agradecerte de corazon, dado que no tenia idea de como lograrlo.

Ahora, lo que se me presenta es que, la pagina de inicio carga en este div una informacion, al hacer clic en un link cualquiera, se carga la informacion correspondiente a ese link, pero la informacion que habia en la homepage sigue alli abajo mezclada con la nueva info.

Como hacer para que la informacion de la pagina inicial, se mantenga por debajo, de manera que siempre este ahi para cuando alguien, haciendo clic dos veces en el mismo link, desaparezca la informacion asociada al link.

Creo que me entrevere con la explicacion, de todas maneras sigo probando por mi lado, si alquien entiende lo que dije y puede ayudarme, bienvenido sea!

Nuevamente muchas gracias, si resuelvo algo sigo editando.

Última edición por fedelosa; 08/04/2008 a las 18:23
  #4 (permalink)  
Antiguo 09/04/2008, 09:34
cao
 
Fecha de Ingreso: septiembre-2003
Ubicación: Monterrey
Mensajes: 36
Antigüedad: 21 años, 2 meses
Puntos: 0
Re: Optimizar javascript con expresiones regulares?

Intenta cambiar style.visibility = "hidden"; por style.display="none". ya que te esta respetando el tamaño de los divs anteriores y no se acoplaran al contenido de tu sitio.
__________________
C A O
  #5 (permalink)  
Antiguo 13/04/2008, 18:18
 
Fecha de Ingreso: noviembre-2006
Ubicación: Marindia - Uruguay
Mensajes: 11
Antigüedad: 18 años
Puntos: 1
Re: Optimizar javascript con expresiones regulares?

Buenas, sigo peleando con la web.

Usando la idea de JavierB (Muchas gracias) Pude hacer que en el mismo DIV me apareciera la informacion relacionada con cada uno de los links de la pagina, ahora el problema que se me presenta es que:

Si yo hago clic en un link, se me carga correctamente la informacion correspondiente en un determinado DIV.

Si yo vuelvo a hacer clic en el mismo link, la informacion desaparece.

Hasta aca todo barbaro! El tema es que yo quiero que al cargar la pagina inicial (www.laotraradio.com) en ese DIV me aparezca un texto, y que desaparezca al cargar alguna otra info (al hacer clic en un link) y que vuelva a verse si vuelvo a clickear el mismo link.

Probe un par de cosas, pero realmente no he conseguido lo que quiero, sin embargo creo que debe ser sencillo, ya que si puedo hacer que el texto de la pagina de inicio, quede "debajo" del DIV que carga la info de cada link, ya lo tendria solucionado, pero realmente no se como lograr eso.

Les dejo las gracias desde ya.


Código:
<script type="text/javascript">
			var visto = null;
			function ver(num) {
			  obj = document.getElementById(num);
			  obj.style.display = (obj==visto) ? 'none' : 'block';
			  if (visto != null)
				visto.style.display = 'none';
			  visto = (obj==visto) ? null : obj;
			
		if (visto.style.display = 'block'){
	
	document.getElementById("orig").style.display = 'none';}
	else
{	document.getElementById("orig").style.display = 'block';}
	
		}
		</script>
Esto es lo que intente, peeerooo...

Bien, aparece en el div un texto cuando cargo la pagina, al hacer clic en un link desaparece y se muestra la info del link, pero luego, al volver a hacer clic en el mismo link, se borra la info y nada queda... El IE7 me da error, y me dice que el error es porque "visto.style=null" (marcado en rojo)... En resumen, no entiendo un pomo...

Última edición por fedelosa; 14/04/2008 a las 14:00
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 18:33.