Foros del Web » Programando para Internet » Javascript »

cambiar SRC de un IMG

Estas en el tema de cambiar SRC de un IMG en el foro de Javascript en Foros del Web. Hola, tengo una función de javascript que se ejecuta ante un evento determinado que no viene al caso...Quiero que esa función me cambie una imagen ...
  #1 (permalink)  
Antiguo 31/12/2004, 18:28
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
cambiar SRC de un IMG

Hola, tengo una función de javascript que se ejecuta ante un evento determinado que no viene al caso...Quiero que esa función me cambie una imagen que tengo en el pie de página, que me cambie el SRC o sea que quede igual el tamaño y todo lo demás...

Gracias y saludos
__________________
Esteban Quintana
  #2 (permalink)  
Antiguo 31/12/2004, 18:48
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 4 meses
Puntos: 0
Bien, digamos que tienes tu imagen, haber si te entendi bien...

<img src="tu-imagen.png" name="cambio">

ahora la cambias asi....

<script>
cambio.src= 'otra-imagen.bmp';
</script>


o tambien te la pongo para que la ejecutes mediante onclick...

<a href=# onclick="cambio.src= 'otra-imagen.bmp';">Cambiar imagen</a>

ya depende de ti utilizarla con una funcion, con onmouseover.....etc.


Saludos !
  #3 (permalink)  
Antiguo 01/01/2005, 04:42
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola monoswim

Para que te funcione en todos los navegadores puedes poner la imágen:

<img src="tu-imagen.png" id="cambio" />

y cambiarla con:

document.getElementById('cambio').src= 'otra-imagen.bmp';

Saludos,
  #4 (permalink)  
Antiguo 01/01/2005, 11:12
Avatar de Danger_  
Fecha de Ingreso: diciembre-2004
Ubicación: Queretaro, México
Mensajes: 395
Antigüedad: 19 años, 4 meses
Puntos: 0
Muy bien JavierB, Gracias por el dato :)

Saludos !
  #5 (permalink)  
Antiguo 01/01/2005, 11:27
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
De nada. Para eso sirver los foros
  #6 (permalink)  
Antiguo 03/01/2005, 06:36
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 3 meses
Puntos: 90
Bueno, muchachos, mil gracias, era más fácil de lo que pensaba !!!

Saludos
__________________
Esteban Quintana
  #7 (permalink)  
Antiguo 17/04/2005, 00:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Saludos:

Temo que he tenido un comportamiento extraño con un sacript así. El código que ocupo es el siguiente:
Código:
	function cambiar(id) {
		for(i=1; i<=5; i++) {
		document.getElementById('des'+i).src="Des_01.gif";
		}
		document.getElementById(id).src="Des_02.gif";
                return false
                }

// y la llamo así:
<td><a href="archivo.php?archivo=nombre.ext"><img src="Des_01.gif" border="0" align="top" id="des1" onClick="cambiar(this.id)"></a></td>
<td><a href="archivo.php?archivo=nombre.ext"><img src="Des_01.gif" border="0" align="top" id="des2" onClick="cambiar(this.id)"></a></td>
... etc
En local con Mozilla va bien... pero en línea no me hace el cambio. Con explorer tanto en local como en línea me desaparece la imagen.. osease no hace el cambio.

Notece que son 5 enlaces de la misma forma.. hago un bucle para que al dar click me regrese a mi imagen original el enlace anteriormente cambiado... lo extraño es que éste si me funciona... me hace el cambio ¿por qué el otro no?.

Agrego que.. actualmente "me reestablece" mis imagenes originales al dar click en el enlace (el bucle).. pero quisiera que haga esto al dar click en cualquier otra parte de la página. Supongo será alguna propiedad del Body pero no sé cual..

Gracias de antemano

Edito:

He observado otro comportamiento extraño. Como dije, me funciona en FireFox en local.. pero he notado que me funciona solo al segundo click... al primer click, sea cual sea el enlace.. no me hace nada.. pero el link si me sirve.. ¿?
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 17/04/2005 a las 08:42
  #8 (permalink)  
Antiguo 17/04/2005, 08:45
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Sin novedad... me funcionó tanto en FireFox como en IExplorer en local pero en línea sigue comportandose igual... en FF no hace nada y en Iexplorer me desaparece la imagen.

Edito: ... 10 segundos después.... hey!!!!... dejé el enlace a la imagen que deveria de mostrarse ¿ya?.. para esto la puse como tal en mi navegador... dí atrás para volver a la "página principal" y... FUNCIONÓ!!!! .... en ambos navegadores... (que felicidad) .
Bien... entonces ¿por qué pasa esto?... necesita leer la imagen antes ó qué??... la solución rápida que le daria es insertar la imagen en alguna parte del cuerpo de la página de forma oculta... para qué la lea... pero dudo mucho sea lo correcto. Esta sí no me la sabia ... jejeje sufrí demasiado.

Sigue la pregunta de cómo hacer para que me vuelva a la forma original al dar click en cualquier parte de la página.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 14/07/2008 a las 17:03 Razón: Elimino enlaces caducados.
  #9 (permalink)  
Antiguo 17/04/2005, 09:58
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola jam1138

Me ha parecido que intentas leer el atributo hsrc de cada imágen:

if (imgarr[i].getAttribute('hsrc')) {

Pero no veo ese atributo en ninguna imágen de la página

Saludos,
  #10 (permalink)  
Antiguo 17/04/2005, 17:18
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por JavierB
Hola jam1138
Me ha parecido que intentas leer el atributo hsrc de cada imágen:
Pero no veo ese atributo en ninguna imágen de la página
Saludos JavierB
Veo que viste el código fuente. La función que está ahí es para cambiar la imagen al pasar sobre ella... la cuál me funciona perfecto, pero quiero que cambie AL HACER CLICK en ella. aunque quizá se mejor con una combinación de ambas.. que cambie al pasar por ella y se quede así si se le da click... .

Ahora bien... para hacer lo que necesito hice mi función aparte de lo más sencillo (lo que he mostrado)... pero! aparentemente hay un problema con el atributo onClick de una imagen en Netscape... pero si llamo a la función desde el enlace pasandole la id manualmente (<a onClick="cambiar('des5')">) no me la ejecuta... ¿?.

También he intentado adaptar la función que viste, pero no he conseguido buenos resultados. El problema básicamente es que no logro que el onCick y el onmouseout "se lleven bien". He logrado que al hacer click se conserve la segunda imagen... pero por el onmuoseout me la regresa a la original y si quito el onmuoseout.. el onmouseover me cambia la imagen... pero ya no hay nada que la regrese a la original... .

Ok.. probemos con esa función:
Código:
	function init() {
	  if (!document.getElementById) return
	  var imgOriginSrc;
	  var imgTemp = new Array();
	  var imgarr = document.getElementsByTagName('img');
	  for (var i = 0; i < imgarr.length; i++) {
		if (imgarr[i].getAttribute('hsrc')) {
			imgTemp[i] = new Image();
			imgTemp[i].src = imgarr[i].getAttribute('hsrc');
			imgarr[i].onmouseover = function() {
				imgOriginSrc = this.getAttribute('src');
				this.setAttribute('src',this.getAttribute('hsrc'))
			}
			imgarr[i].onmouseout = function() {
				this.setAttribute('src',imgOriginSrc)
			}
		}
	  }
	}
	onload=init;
entonces mi enlace estaria asi:
Código:
<td align="center"><a href="archivo.php?archivo=nombre.ext"><img src="Des_01.gif" hsrc="Des_02.gif" border="0" align="top"></a></td>
PERO! () parece que igual hay un problema con el Netscape e Iexplorer5 con el atributo hsrc ... ni a cuál irle...

Solo decir que sí me funcionó con FireFox e Iexplorer el poner la imagen oculta... Mil gracias por la atención... y sus enseñanzas. Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #11 (permalink)  
Antiguo 19/04/2005, 09:41
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola de nuevo.

Me ha copiado la página al disco duro para echarle un vistazo cuando pueda, pero la verdad es que no me funciona ni en IE ni en explorer. Además sigo sin entender esta línea:

if (imgarr[i].getAttribute('hsrc')) {

Saludos,
  #12 (permalink)  
Antiguo 19/04/2005, 13:18
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
Cita:
Iniciado por JavierB
... la verdad es que no me funciona ni en IE ni en explorer...
¡Je, je! un lapsus

__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #13 (permalink)  
Antiguo 20/04/2005, 00:58
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Cita:
Iniciado por caricatos
¡Je, je! un lapsus
Eso es porque me había tomado unas cuantas birras para celebrar, con retraso, cierto cumpleaños

Logicamente, quise decir que no me funcionaba ni en IE ni en Firefox (parece que ahora ando mejor de la resaca )

Saludos,
  #14 (permalink)  
Antiguo 20/04/2005, 01:18
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Cita:
Iniciado por JavierB
Me ha copiado la página al disco duro para echarle un vistazo cuando pueda, pero la verdad es que no me funciona ni en IE ni en explorer.
El enlace que te dejé esra solo una página de "prueba". He aquí en la página oficial --Editado-- . Verás cómo solucioné la función que planteé primero con lo de la imagen oculta (<img src="Descargas/Des_02.gif" style="visibility:hidden">). Y verás que he semisolucionado lo de reestablecer la imagen original al darle click en cualquier parte del documento; le puse una acción a las etiquetas <td>...

Me sigue interezando hacer funcionar esto de la forma correcta. Si sigues dispuesto dame un tiempo y hago muestras de las dos funciones funcionando (válgase la redundancia) para ver la manera de convinarlas ¿ok?... Para que tampoco pierdas tu tiempo...

Gracias por todo. Saludos!

Edito: Al menos invita pa' estar igual
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 14/07/2008 a las 17:05
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 15:03.