Foros del Web » Programando para Internet » Javascript »

cambio de fondo en distintos marcos

Estas en el tema de cambio de fondo en distintos marcos en el foro de Javascript en Foros del Web. Hola tengo una página hecha con marcos. De estos marcos, que son cinco, cuatro actúan como fondo de la página centrando al que lleva la ...
  #1 (permalink)  
Antiguo 08/06/2004, 05:14
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
cambio de fondo en distintos marcos

Hola tengo una página hecha con marcos. De estos marcos, que son cinco, cuatro actúan como fondo de la página centrando al que lleva la información.

Los cuatro marcos que actúan como fondo de página, todos tienen el mismo enlace: fondo.htm.

El que lleva la información, que es el único que cambia se llama info.htm.

Después de todo este rollo os hago la consulta.

Quiero que dependiendo de la parte de la página en la que entre, el fondo de la misma (fondo.htm) cambie de color, pero ello debe hacerse desde los botones del menu de info.htm. Y no tengo ni idea de como hacerlo.

¿Me podeis ayudar?
Grace mile
  #2 (permalink)  
Antiguo 08/06/2004, 06:09
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
Puntos: 63
Hola

No es complicado.

Dices que al info le rodean 4 marcos, supogamos que se llaman: arriba, abajo, izquierda y derecha y estas páginas son solo colores. ¿cierto?

Pues lo que tienes que hacer, es una función en javascript que llame a páginas con otros colores, o cambiar en línea el color de fondo de la página.

Yo preferíría cambiar el color de fondo de las páginas en vez de cargar unas nuevas, así que te paso ese código:

Código:
<script type="text/javascript">
function cambiar_color_fondo(x) {
	window.frames[0].document.getElementById('documento').style.background = x;
	window.frames[1].document.getElementById('documento').style.background = x;
	window.frames[2].document.getElementById('documento').style.background = x;
	window.frames[3].document.getElementById('documento').style.background = x;
}
</script>
Luego la llamada a la función sería así:
Código:
<p><a href="javascript:cambiar_color_fondo('#ff0000')">este vínculo cambia el color de fondo de la página de un marco</a></p>
Finalmente, el body de cada una de esas páginas debería ser así:

Código:
<body id="documento" style="background: #ffffff;">
Bueno, esto es solo un ejemplo, los valores los tendrás que adecuar a tus necesidades, de igual manera, la función que yo utilizo, solo es para cambiar los colores, como supongo que en tu caso, deberás hacer más, pues ya verás si anidas funciones o si mejoras esta.

Suerte

Felicidad
__________________
¡ hey, hou, hou, hey !
  #3 (permalink)  
Antiguo 08/06/2004, 10:09
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
pantomas no lo entiendo

el script donde debo ponerlo; en la página index (la que engloba las 5 páginas)
  #4 (permalink)  
Antiguo 09/06/2004, 15:33
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
Puntos: 63
Hola

A ver, dices que tienes unos botones y que al hacer clic en ellos debe cambiar el fondo de otros cuatro frames ¿cierto?. Pues este código va en la página donde estén los botones, la cual según tengo entendido, es la del centro.

Igualmente el ejemplo de body que puse, es para que agregues el id a la etiqueta body de la misma página, la del centro.

Y el ejmplo de vínculo que coloqué es también la simulación de uno de esos botones que tienes en la página central

Si tienes más dudas, por aquí andamos.

Felicidad
__________________
¡ hey, hou, hou, hey !
  #5 (permalink)  
Antiguo 10/06/2004, 00:56
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
Hola Pantomas

He hecho todo lo que me decías, y al probarlo me da el siguiente error:

'window.frames.0.document' es nulo o no es un objeto
  #6 (permalink)  
Antiguo 10/06/2004, 16:06
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
Puntos: 63
Hola

Lo que pasa es que no has copiado bien el código, fijate que los números están entre corchetes «[ ]» eso significa que los estás llamando por su número de orden dentro de la matriz con la lista de los marcos.

Es decir, no hayun marco llamado «0» pero si uno cuya posición en la lista es «0», es decir, el primero que hayas creado.

De todas maneras, te recomiendo que hagas una búsqueda en los foros de manera qconsigas un manual de jvascript, será una muy buena ayuda y seguramente más rápida que mis respuestas.

;)

Felicidad
__________________
¡ hey, hou, hou, hey !
  #7 (permalink)  
Antiguo 10/06/2004, 18:14
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola palidowsky y PatomaS:

Hace tiempo hice algunas pruebas por un mensaje parecido y me fubcionó así:
window.frames.ventana.document.body.style.backgrou nd = "url(../miemoticon.gif) no-repeat center center ";

Pero tengo que aclarar algunas cosas:

ventana es el nombre del frame (en mi caso era un IFrame), el iframe lo llené dinámicamente... with (frame) {open(); write("<html>..."); close();}

Recuerdo que con páginas asignadas con src o location.href no podía (creo que por seguridad)...

PatomaS: cuando se pone window.frames[0], los navegadores los reconocen como window.frames.0... creo que palidowsky escribió bien el script (bueno, tendría que decirlo él... )

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 11/06/2004, 01:54
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
Puntos: 63
Muy buenas gente

:)

Me surgía una pregunta...

¿a qué te refieres con "... los navegadores los reconocen como window.frames.0"?

Digo, porque para responder el mensaje hice una pruebilla y como siempre escribí mal las cosas a la primera, por lo que me dió algún mensaje de error y cuando se refería a los frames como matrix y por su orden.

Abajo pego un error provocado:

Error: window.frames[0].document.getElementById("marco") has no properties
Source File: file:///E:/pruebas/Untitled-3.htm
Line: 12

El mensaje anterior es generado por firefox y por Netscape

En explorer solo me dijo "object required" y opera ni se inmutó.

Bueno, cualquier cosa seguiré pendiente así aprendo más..

Gracias por todo...

Felicidad
__________________
¡ hey, hou, hou, hey !
  #9 (permalink)  
Antiguo 11/06/2004, 02:21
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

Es sencillamente eso... que explorer muchas veces muestra errores de ese tipo cambiando [0]. por .0.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 11/06/2004, 03:54
Avatar de palidowsky  
Fecha de Ingreso: febrero-2002
Ubicación: Galicia-España
Mensajes: 438
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias a los dos, pero creo que me está superando. el código de Pantomas lo escribí tal y como él me ha puesto. Caricatos, de javascript se poco o muy poco, podrías ser un poco más explícito con tu explicación.

Gracias por perder vuestro tiempo ayudadndo a gente como yo
  #11 (permalink)  
Antiguo 11/06/2004, 05:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Hola otra vez:

palidowsky: Lo que quise decir es que yo no he podido conseguir el propósito, salvo escribiendo la página dinámicamente, o sea sin que existiera.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #12 (permalink)  
Antiguo 11/06/2004, 09:31
Avatar de PatomaS
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: En alguna otra parte
Mensajes: 4.656
Antigüedad: 20 años, 2 meses
Puntos: 63
Hola

Danos un dirección en la que se pueda ver lo que tienes hasta ahora y así la vemos, de esa manera, podemos explicarte con el código que ya tienes ¿si?.

Felicidad
__________________
¡ hey, hou, hou, hey !
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 17:30.