Comunidad de diseño web y desarrollo en internet online

Problema Con Onmouseover, Onmouseout Y Onmousedown javascrip

Citar            
MensajeEscrito el 08 Ago 2007 01:19 pm
Hola tengo la suiguente duda:

Tengo una imagen y quiero que cuando se haga onMouseOut cambie la imagen, al hacer onMouseover vuelva a la imagen del inicio y al hacer onMouseDown permanezca la segunda imagen aunque quites el cursor de la imagen. Éste es el código que tengo, pero no me lo hace correctamente, cada vez que quito el cursor de encima vuelve a la imagen del principio:

Código :

<img onMouseOver="imagen_a()" onMouseOut="imagen_0()"  onMouseDown="inicio()"> 
function inicio() 

{ 
window.frames["contenido2"].location.href = "inicio2.htm"; 
document.getElementById('banner').src='img/imagenes/banner.gif'; 
document.getElementById('imagen').src='img/mapa1.gif'; 

} 
function imagen_0() 
{ 
document.getElementById('imagen').src='img/mapa.gif'; 
document.getElementById('flecha1').src='img/imagenes/flecha.gif'; 
document.getElementById('flecha2').src='img/imagenes/flecha.gif'; 
fintextointermitente(); 
window.frames["contenido"].location.href = "inicio.htm"; 
} 
function imagen_a() 
{ 
document.getElementById('imagen').src='img/mapa1.gif'; 
inter(); 
window.frames["contenido"].location.href = "inicio_a.htm"; 
document.getElementById('flecha1').src='img/imagenes/flecha_b.gif'; 
document.getElementById('flecha2').src='img/imagenes/flecha_b.gif'; 
}  

¿Alguien puede decirme que ésta mal?¿Hay otra manera de hacerlo?
Saludos y gracias :)

Por zaida20

18 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 08 Ago 2007 01:34 pm
Bueno, aunque me parece un poco extraño, te explico: Primero, con una variable boolean puesta a true que solo va a pasar cuando a false cuando hagas el mousedown, en el mouse over, haces el cambio si y solo si la variable sigue en true, fijate abajo:

Código :

<script language="javascript">
   var cambio = true;
   function doMouseOut(id)
   {
      document.getElementById(id).src="imagen2";
   }
   function doMouseOver(id)
   {
      if(cambio)
         document.getElementById(id).src="imagen1";
   }
   function doMouseDown(id)
   {
      document.getElementById(id).src="imagen2";
      cambio = false;
   }
</script>


Por lo que tu imagen quedaría así:

Código :

<img src="imagen1" id="img" onmouseout="javascript:doMouseOut(this.id);" onmouseover="javascript:doMouseOver(this.id);" onmousedown="javascript:doMouseDown(this.id);" />


quiza se podría optimizar más, de momento es lo que se me ocurre, espero te sirva de algo.

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 09 Ago 2007 11:50 am
Hola Aoyama:
Muchas gracias por contestarme, he probado tu código y tampoco me funciona correctamente, no se lo que estoy haiendo mal, pero no puede ser tan complicado no?

Saludos :)

Por zaida20

18 de clabLevel



Genero:Femenino  

msie
Citar            
MensajeEscrito el 10 Ago 2007 01:10 am
Eso es extraño, si eso no funciona mejor subelo a un hosting para que podamos ver bien el código completo.

Un saludo

Por NEO_JP

BOFH

5724 de clabLevel

13 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Premio_Secretos Team Cristalab

Front-end Developer en Washington, DC

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.