Foros del Web » Programando para Internet » Javascript »

Sustituir imágenes

Estas en el tema de Sustituir imágenes en el foro de Javascript en Foros del Web. Hola de nuevo, a parte del otro post que no creo que se solucione... jeje... sigo haciendo pruebas con javascript y me he topado con ...
  #1 (permalink)  
Antiguo 26/10/2005, 12:47
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Sustituir imágenes

Hola de nuevo,

a parte del otro post que no creo que se solucione... jeje... sigo haciendo pruebas con javascript y me he topado con una duda.
A ver, tengo en mi página un menú que he llenado de imagenes que son las opciones del mismo. Quiero que al situar el cursor encima de la imagen, se cargue otra, y que cuando haga clic se cargue una tercera. Pero cada imagen tiene un nombre diferente y el menú está lleno de opciones. Quiero tener una funcion a la que se le pasen un nombre de elemento y un nombre de archivo para que cargue la imagen correspondiente.
Lo que realmente quiero es modificar esta función:

function encima(){
document.imagen1.src="imagenes/opcion1 1.jpg"
}

que se llama al hacer clic en la imagen que hace de link:

<a href="opcion1.htm" onmouseover="encima()"><img src="imagenes/opcion1 1.jpg" name="imagen1"></a>


Ahora viene lo que realmente quiero...:
como cada <img> tiene un nombre asociado no quiero tener que hacer tantas funciones como imágenes coloque. Quiero pasarle el nombre como parámetro y que la funcion cargue la imagen en el <img> correspondiente. Por lo tanto también habrá que pasar como parámetro el nombre del archivo que deba cargar. Por ejemplo, para una opción del menú tengo 3 imagenes: la de reposo, la del cursor encima y la de apretado (opcion1 1.jpg, opcion1 2.jpg, opcion1 3.jpg respectivamente).

Espero haber dejado claro cual es la duda....

Muchas gracias por intentar ayudarme

Saludos
  #2 (permalink)  
Antiguo 26/10/2005, 16:28
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Prueba esto:
Código PHP:
function encima(aqui,esto){
document.images[aqui].src=esto}

<
a href="opcion1.htm" onmouseover="encima('imagen1','pepe.jpg')"><img src="imagenes/opcion11.jpg" name="imagen1" ></a
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 27/10/2005, 01:04
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola,
La verdad es que es eso lo que quería, pero... una pregunta más:
El array images como y donde se inicializa?
Porque he probado a inicializarlo antes de la funcion de manera global y no ha habido forma...
Lo que he puesto es:
images = new Array
images[uno] = imagen1

y asi con cuantas opciones tenga el menú...

Gracias por todo

Salu2
  #4 (permalink)  
Antiguo 27/10/2005, 02:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

El array o colección images la inicializa el propio navegador al abrir la página y lo rellena con los src de las etiquetas img... También se indexa asociativamente por su atributo name (siempre que los tuviera definidos)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 27/10/2005, 03:20
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
En la function que te puse hace uso de la propiedad que dijo caricatos (Qué pasa pepe!!?? ):

al llamarla se pasa como argumentos en name de la imagen y la imagen que la sustituirá:

<a href="opcion1.htm" onmouseover="encima('imagen1','pepe.jpg')"><img src="imagenes/opcion11.jpg" name="imagen1" ></a>

Así que lo único que tendrás que hacer es poner en cada llamada el name de la imagen a que afecta y la nueva imagen. para que vuelva a su imagen anterior, puedes usar con onmouseout la misma function, poniendo el nombre de la imagen originaria.

Espero que nuestras explicaciones te ayuden a comprender!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #6 (permalink)  
Antiguo 27/10/2005, 03:42
Avatar de sir_bowen  
Fecha de Ingreso: junio-2005
Mensajes: 184
Antigüedad: 18 años, 10 meses
Puntos: 0
Ah coco.....

Vale pues, muchisimas gracias.

Funciona como quería.

Sois unas máquinas.... jeje.... cojonudo

Saludos
  #7 (permalink)  
Antiguo 27/10/2005, 04:23
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Me alegro de que te haya funcionado! Cualquier otra cosa ya sabes dónde estamos. Y no pongas tacos en los fooooros, que los puede leer tu maadre...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 02:22.