Foros del Web » Programando para Internet » Javascript »

Pasar el mouse encima y cambiar de imagen

Estas en el tema de Pasar el mouse encima y cambiar de imagen en el foro de Javascript en Foros del Web. Como puedo hacer para que en una imagen al yo ponerle el mouse encima la imagen cambie por otra imagen? .::RsOfT::. --El que se aferra ...
  #1 (permalink)  
Antiguo 02/09/2002, 12:47
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Pasar el mouse encima y cambiar de imagen

Como puedo hacer para que en una imagen al yo ponerle el mouse encima la imagen cambie por otra imagen?

.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pesimo gusto contentarse con algo mediocre cuando lo excelente esta a nuestro alcance--
  #2 (permalink)  
Antiguo 02/09/2002, 13:38
Avatar de CORE
Usuario no validado
 
Fecha de Ingreso: abril-2002
Ubicación: Merida
Mensajes: 2.165
Antigüedad: 22 años, 1 mes
Puntos: 3
Re: Pasar el mouse encima y cambiar de imagen

Código:
 <script language="JavaScript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[I].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" onLoad="MM_preloadImages('imagen2.gif')">
<img src="imagen1.gif" width="41" height="38" name="Image1" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1','','imagen2.gif',1)"> 
   
  #3 (permalink)  
Antiguo 02/09/2002, 13:57
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Pasar el mouse encima y cambiar de imagen



No habrá uno más fácil, que se pueda poner en un link?? algo asi como:
Código:
OnMounseOver='<img src=imagen.jpg>'
Estuve buscando y encontre esto:
<a href='ir.asp?http://www.elcodigo.net/cgibin/DBread.cgi?tabla=scripts&amp;campo=0&amp;clave=39& amp;info=1' target='_blank'>http://www.elcodigo.net/cgibin/DBread.cg...</a>
Pero ese tambien es muy difícil

Quiero algo sencillo, o no se puede?

.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pesimo gusto contentarse con algo mediocre cuando lo excelente esta a nuestro alcance--
  #4 (permalink)  
Antiguo 02/09/2002, 16:01
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Pasar el mouse encima y cambiar de imagen

Bueno, me puse analizar el que encontré en elcodigo.net y me esta funcionando, pero tiene un maco ??
tengo el siguiente script:
===========================================
&lt;script language=&quot;javascript&quot;&gt;
function CompruebaVersion() {
if (navigator.appVersion.charAt(0) &gt;= 3 &amp;&amp; document.images) return true
else return false
}

function CreaArray(n) {
this.length = n
for (var i = 1; i&lt;=n; i++) {
this = new Image()
}
return this
}

if (CompruebaVersion()) { //si la version del navegador soporta el objeto images
img_off = new CreaArray(2)
img_on = new CreaArray(2)

img_off[1].src = &quot;/imagenes/salud-off.jpg&quot;
img_off[2].src = &quot;/imagenes/buscar-off.jpg&quot;
img_on[1].src = &quot;/imagenes/salud-on.jpg&quot;
img_on[2].src = &quot;/imagenes/buscar-on.jpg&quot;
}

function msover(num) {
if (CompruebaVersion()) {
if (img_on[num].src != &quot;&quot;) {
document.images[&quot;efecto&quot;].src = img_on[num].src;
}
}
}

function msout(num) {
if (CompruebaVersion()) {
if (img_off[num].src != &quot;&quot;) {
document.images[&quot;efecto&quot;].src = img_off[num].src;
}
}
}
&lt;/script&gt;
===========================================

Entonce en los link:
===========================================
&lt;td bgcolor=&quot;#99ccff&quot;&gt;
&lt;a href=&quot;#&quot; onMouseOut=&quot;msout(1)&quot; onMouseOver=&quot;msover(1)&quot;&gt;&lt;img src=&quot;/imagenes/salud-off.jpg&quot; name=&quot;efecto&quot;&gt;&lt;/a&gt;
&lt;a href=&quot;#&quot; onMouseOut=&quot;msout(2)&quot; onMouseOver=&quot;msover(2)&quot;&gt;&lt;img src=&quot;/imagenes/buscar-off.jpg&quot; name=&quot;efecto&quot;&gt;&lt;/a&gt;
&lt;/td&gt;
===========================================
Cuando me posiciono en la imagen Salud se cambia a on pero en la imagen buscar, y cuando me posiciono en buscar, se cambia bien en su misma imagen... que está pasando?


.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pesimo gusto contentarse con algo mediocre cuando lo excelente esta a nuestro alcance--
  #5 (permalink)  
Antiguo 02/09/2002, 16:08
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
Re: Pasar el mouse encima y cambiar de imagen

Qué te parece este código?
Código:
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Untitled&lt;/title&gt;
&lt;script language=&quot;JavaScript&quot; type=&quot;text/javascript&quot;&gt;
if (document.images){
imagenon=new Image;
imagenoff=new Image;
imagenoff.src=&quot;imagen1.gif&quot;;//Imagen a sustituir (images/pepe.jpg o http://www.pepe.com/imagen.jpg..)
imagenon.src=&quot;imagen2.jpg&quot;;//Imagen sustituta (images/juan.jpg o http://www.pepe.com/imagen.2jpg..)
}
else{
imagenon=&quot;&quot;;
imagenoff=&quot;&quot;;
imagenoff.src=&quot;&quot;
imagenon.src=&quot;&quot;
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;a 		href=&quot;Página de destino.html  &quot; 
		onMouseOver=&quot;document.imagen.src=imagenon.src;&quot; 
		onMouseOut=&quot;document.imagen.src=imagenoff.src;&quot;&gt;

&lt;img 	name=&quot;imagen&quot;
		src=&quot;imagen2.jpg&quot; &gt;
		
&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;
Es muy sencillo.
Primero comprobamos si el navegador entiende el objeto images . Si lo entiende seguimos y si no dejamos las variables en blanco para que no salte ningún error (esto es innecesario porque hoy en día todos lo entienden, pero por si acaso).
Si entiende el objeto images defines varias variables como imágenes (dos por cada link: el on y el off). Luego les das una ruta hasta llegar al src de las mismas.

Posteriormente en el código y por medio de onmouseover y onmouseout decimos que cambie la ruta de llegar a la imagen de una a otra.

Como ves es muy sencillo y funciona en todos los navegadores que tengo. Espero que te sirva.

Si no entiendes algo... dímelo!

Salu2
  #6 (permalink)  
Antiguo 02/09/2002, 16:10
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
Re: Pasar el mouse encima y cambiar de imagen

Vaya, veo que ya conseguiste un ejemplo... y bastante completo!

Voy a ver porque te falla... aunque el mío es menos complicado y hace lo mismo... ;)
  #7 (permalink)  
Antiguo 02/09/2002, 16:21
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
Re: Pasar el mouse encima y cambiar de imagen

A ver! l oque te pasa es que las dos imágenes tienen el mismo nombre cambia el código en este sentido y a ver:
Código:
function msover(num,imagen) {
if (CompruebaVersion()) {
if (img_on[num].src != &quot;&quot;) {
document.images[imagen].src = img_on[num].src;
}
}
}

function msout(num,imagen  ) {
if (CompruebaVersion()) {
if (img_off[num].src != &quot;&quot;) {
document.images[imagen  ].src = img_off[num].src; 
}
} 
}
&lt;a href=&quot;#&quot; onMouseOut=&quot;msout(1,'salud'  )&quot; onMouseOver=&quot;msover(1,'salud'  )&quot;&gt;&lt;img src=&quot;/imagenes/salud-off.jpg&quot; name=&quot;salud&quot;  &gt;&lt;/a&gt;
&lt;a href=&quot;#&quot; onMouseOut=&quot;msout(2,'buscar'  )&quot; onMouseOver=&quot;msover(2,'buscar'  )&quot;&gt;&lt;img src=&quot;/imagenes/buscar-off.jpg&quot; name=&quot;buscar&quot;  &gt;&lt;/a&gt;
&lt;/td&gt;
Espero que te ayude!
  #8 (permalink)  
Antiguo 02/09/2002, 17:31
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Re: Pasar el mouse encima y cambiar de imagen



La respuesta (mucho más fácil) en tu pregunta del foro HTML

<a href='ir.asp?http://www.forosdelweb.com/mensaje.asp?id=99240' target='_blank'>http://www.forosdelweb.com/mensaje.asp?i...</a>


Un saludo. <img src="http://litos.galeon.com/guino.gif">

Carlos - Zaragoza
  #9 (permalink)  
Antiguo 03/09/2002, 02:03
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
Re: Pasar el mouse encima y cambiar de imagen

Carlitos, estoy de acuerdo en que esa es la forma más sencilla, pero NS 4.7 no reconoce el onmouseover sobre una imagen. Por lo que tenemos que hacer toda esa parafernalia para que funcione tb en este navegador...
  #10 (permalink)  
Antiguo 03/09/2002, 07:24
Avatar de RsOfT  
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 1 mes
Puntos: 7
Re: Pasar el mouse encima y cambiar de imagen

Gracias por sus respuestas!!! :)

.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pesimo gusto contentarse con algo mediocre cuando lo excelente esta a nuestro alcance--
  #11 (permalink)  
Antiguo 03/09/2002, 11:22
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Re: Pasar el mouse encima y cambiar de imagen

Ah, sí! NS 4.7

Comprendido.
  #12 (permalink)  
Antiguo 04/09/2002, 03:22
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
Re: Pasar el mouse encima y cambiar de imagen







NS 4.7 = Netscape Communicator versión 4.7






  #13 (permalink)  
Antiguo 04/09/2002, 17:26
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
Re: Pasar el mouse encima y cambiar de imagen

Ya sabía lo que significaba NS. Pero gracias de todas formas.
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 12:06.