Foros del Web » Programando para Internet » Javascript »

cambiar imagen onmouseover

Estas en el tema de cambiar imagen onmouseover en el foro de Javascript en Foros del Web. Necesito cambiar una imagen al pasar sobre ella y devolverle la misma imagen al quitar el raton de dicha imagen, para ello, tengo que pasarle ...
  #1 (permalink)  
Antiguo 16/09/2008, 13:18
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
cambiar imagen onmouseover

Necesito cambiar una imagen al pasar sobre ella y devolverle la misma imagen al quitar el raton de dicha imagen, para ello, tengo que pasarle a una funcion javascript, el id del elemento de bloque que la contiene y la url de la imagen ha cambiar....es sencillo pero no me aclaro sobre como "localizar" los elementos para aplicarles los cambios...yo he hecho esto, a ver si podeis decirme en que fallo....


Código HTML:
<div class="BloqueTitulo" onMouseOver="cambia_logo(this, '../imagenes/logoUCAContraste.png')"> 
      <a href="http://www.uca.es/" target="_blank" class="logo_uca" name="enlace_uca"  >
              <img name="img_uca" src="../imagenes/logoUCA.png" alt="logo" ></a>
........
e intento cambiarlo con esta funcion....pero me da error al pasar por encima de la imagen....

Código PHP:
function cambia_logo(objetourl){


    
imagen_nueva url;
    
    
    
    
objeto.images['img_uca'].src imagen_nueva;


  #2 (permalink)  
Antiguo 16/09/2008, 13:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: cambiar imagen onmouseover

Puedes:
1) Asignar un id único al tag img y cambiar su src a partir de ahí.
2) Con getElementsByTagName obtener el img que tienes dentro del div y a partir de ahí cambiar su src.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/09/2008, 13:33
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

se puede acceder a traves del id "BloqueTitulo"??, que antes lo tenía puesto como class, pero realmente es id....

Es que es lo que me pide el ejercicio, necesito sacarlo a raiz de ahi...
Código PHP:
<body>
<
div id="BloqueTitulo" onMouseOver="cambia_logo(this, '../imagenes/logoUCAContraste.png')">
    <
a href="http://www.uca.es/" target="_blank" class="logo_uca" name="enlace_uca"  ><img name="img_uca" src="../imagenes/logoUCA.png" alt="logo" ></a>
          <
div id="ContenedorZonaTactil">
            <
div id="Zonatactil" onMouseOver="muestra_acceso()" onMouseOut="desaparece_acceso()" ><p id="hint" onClick="acceso_login()">Entrar al sistema</p>
            </
div>
        </
div>
</
div>
</
body
  #4 (permalink)  
Antiguo 16/09/2008, 13:38
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: cambiar imagen onmouseover

Si te refieres a acceder a la imagen a partir de ahí, como te dije con getElementsByTagName (leer los elementos que tengan el tag especificado). Por ejemplo:
Código javascript:
Ver original
  1. divobj = document.getElementById("BloqueTitulo");
  2. divobj.getElementsByTagName("img")[0].src = "nueva_imagen.jpg";
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 16/09/2008, 13:59
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

bufff...que va, lo he puesto tal y como dices y sigue dandome error...puede indicarse en el array de imagenes el nombre en vez del numero, ya que por css cargo diferentes imagenes en esa misma pagina y no se si sería la primera o no....

Código PHP:
function cambia_logo(objetourl){


    
imagen_nueva url;
    
    
div getElementById('BloqueTitulo');
    
div.getElementByTagName('img')[0].src imagen_nueva;
    

  #6 (permalink)  
Antiguo 16/09/2008, 14:06
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: cambiar imagen onmouseover

Es que es getElementsByTagName, te faltó la "s" en el código, en el caso lo que toma en cuenta es el primer tag img que encuentra dentro del div.

Si quieres ir por el nombre, no necesitas hacer referencia al div, solo haz referencia al nombre y listo:
Código javascript:
Ver original
  1. img_uca.src = "nueva_imagen.jpg"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 16/09/2008, 14:18
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

que fallos más estupidos...jajaja...de todas maneras, lo he cmabiado y sigue sin ir, el caso, es que debo cogerlo mediante el id, ya que me lo pide la practica...

Código PHP:

function cambia_logo(objetourl){


    
imagen_nueva url;
    
    
    
div getElementById('BloqueTitulo');
    
div.getElementsByTagName('img')[0].src imagen_nueva;
    

puede estar el fallo en la url que le paso?quiero decir, en el formateo de la cadena...
  #8 (permalink)  
Antiguo 16/09/2008, 14:23
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: cambiar imagen onmouseover

A mí me funciona perfectamente .

¿Has mirado si no está dando error en el navegador?. Además, ¿has comprobado que la url es correcta?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 16/09/2008, 14:29
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

joder...la url si es correcta, en el navegador....para muestra un boton...

  #10 (permalink)  
Antiguo 16/09/2008, 14:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: cambiar imagen onmouseover

¿Podrías subir tu página y colocar un enlace?. O en su defecto colocar el código tal y como lo tienes ahora.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 16/09/2008, 14:37
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

TITULO.HTML

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>titulo.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="estilos/titulo.css" type="text/css">
<script language="javascript" src="../scripts/hint.js"></script>
<script language="javascript" src="../scripts/imagenes.js"></script>

</head>
<body>
<div id="BloqueTitulo" onMouseOver="cambia_logo(this, '../imagenes/logoUCAContraste.png')" onMouseOut="cambia_logo(this, '..imagenes/logoUCA.png')">
	<a href="http://www.uca.es/" target="_blank" class="logo_uca" name="enlace_uca"  ><img name="img_uca" src="../imagenes/logoUCA.png" alt="logo" ></a>
  	<div id="ContenedorZonaTactil">
	<div id="Zonatactil" onMouseOver="muestra_acceso()" onMouseOut="desaparece_acceso()" ><p id="hint" onClick="acceso_login()">Entrar al sistema</p></div>
	</div>
</div>
</body>
</html> 
  #12 (permalink)  
Antiguo 16/09/2008, 14:39
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

IMAGENES.JS

Código PHP:
function cambia_logo(objetourl){


    
imagen_nueva url;
    
    
    
div getElementById('BloqueTitulo');
    
div.getElementsByTagName('img')[0].src imagen_nueva;
    

  #13 (permalink)  
Antiguo 16/09/2008, 14:40
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

Si quieres te paso tambien la hoja de estilos...
  #14 (permalink)  
Antiguo 16/09/2008, 14:50
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: cambiar imagen onmouseover

Esto:
Código javascript:
Ver original
  1. div = getElementById('BloqueTitulo');
Debes cambiarlo por:
Código javascript:
Ver original
  1. div = document.getElementById('BloqueTitulo');
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 16/09/2008, 15:03
 
Fecha de Ingreso: junio-2007
Ubicación: Cádiz
Mensajes: 369
Antigüedad: 16 años, 10 meses
Puntos: 7
Respuesta: cambiar imagen onmouseover

Muchas gracias nuevamente, eso era...
  #16 (permalink)  
Antiguo 25/08/2010, 22:03
 
Fecha de Ingreso: agosto-2007
Ubicación: Duitama Boyaca Colombia
Mensajes: 18
Antigüedad: 16 años, 8 meses
Puntos: 1
Sonrisa Respuesta: cambiar imagen onmouseover

No es bueno revivir temas viejos pero vale la pena por dar una respuesta "un poco" mas sencilla.
No hay que recurrir a scripts y menos a llamar el DOM.

<img name="nav"
src="image1.jpg"
onMouseOver="nav.src='image2.jpg';"
onMouseOut="nav.src='image1.jpg';" />

eso es todo.
Claro que podemos rodear la imagen con un hipervinculo, en ese caso es necesario
colocar la propiedad border=0
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 14:19.