Qué te parece este código?
Código:
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
if (document.images){
imagenon=new Image;
imagenoff=new Image;
imagenoff.src="imagen1.gif";//Imagen a sustituir (images/pepe.jpg o http://www.pepe.com/imagen.jpg..)
imagenon.src="imagen2.jpg";//Imagen sustituta (images/juan.jpg o http://www.pepe.com/imagen.2jpg..)
}
else{
imagenon="";
imagenoff="";
imagenoff.src=""
imagenon.src=""
}
</script>
</head>
<body>
<a href="Página de destino.html "
onMouseOver="document.imagen.src=imagenon.src;"
onMouseOut="document.imagen.src=imagenoff.src;">
<img name="imagen"
src="imagen2.jpg" >
</a>
</body>
</html>
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