Foros del Web » Programando para Internet » Javascript »

ayuda con efecto rollover

Estas en el tema de ayuda con efecto rollover en el foro de Javascript en Foros del Web. Buenas a todos, a ver... estoy empezando con javascript. Leyendo y empollando por mi cuenta, con lo que todavía estoy muy verde. Pero recurro a ...
  #1 (permalink)  
Antiguo 27/11/2008, 02:30
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 0
ayuda con efecto rollover

Buenas a todos,
a ver... estoy empezando con javascript. Leyendo y empollando por mi cuenta, con lo que todavía estoy muy verde. Pero recurro a vosotros, para ver si me podeis echar una mano en esto del aprendizaje.
Os pongo un código para un efecto rollover que he echo. Es muy malo, lo sé, pero he intentado evitar desde un principio los recursos de internet y complicarme la vida, para entender algunos conceptos que se me escapan.
Código:
        function cambiarImagen(el){
            var images = document.getElementById('minizoom_buttons').getElementsByTagName("img");
            for(i=0; i < images.length; i++){
                if(el==images[i].src){
                    var imgSrcSp = images[i].src.split('images/');
                    var namePos = imgSrcSp[1].indexOf('.png');
                    var imgName = imgSrcSp[1].substring(0, namePos);
                    images[i].src= imgSrcSp[0]+'images/'+ imgName +'Over.png';
                    return images[i].src;
                }
            }
        }
        function definitiva(){
            if (this.image.src != cambiarImagen(this.src)) this.image.src= cambiarImagen(this.src);
            else { 
                var normal = cambiarImagen(this.src).split('Over');
                this.image.src = normal.join('');
            }
        }
y en el html a la imagen le pasaría al evento onMouseOver="definitiva();"

Todavía no me he preocupado por el onMouseOut pero bueno...
Lo que hago es sacar una cadena, la de la ruta a la imagen en la primera función y sumarle el "Over.png", luego devuelvo esa cadena y se la paso a traves de la a otra función que establece si esa cadena se corresponde con la ruta actual de la imagen, si no es así la sustituye por el valor de la primera función, y si no el resto.

Vale, esa es la lógica que pretendía seguir. Pero no funciona. Seguramente tenga errores garrafales el planteamiento. Es por lo que acudo a vosotros, para ver si me podeis ir aclarando en que no funciona.

Muchas gracias por vuestro tiempo y un saludo
  #2 (permalink)  
Antiguo 27/11/2008, 05:16
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: ayuda con efecto rollover

Hola:

¿Porqué complicas tanto las cosas... el rollover más básico sería:

<img scr="original.gif" onmouseover="this.src = 'rollover.gif'"
onmouseout="this.src='original.gif'" alt="rollover" />

Al principio procura no complicar las cosas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 27/11/2008, 06:06
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 16 años
Puntos: 0
Respuesta: ayuda con efecto rollover

gracias Caricatos,
el caso es que de la forma que me lo has puesto, sí lo sabía hacer..., pero he querido complicarme para buscar una forma más generica y aparte probar cosas.
Mi principal duda en este caso, es que sabiendo que la primera parte funciona (por lo menos el cambiar la imagen por otra), es pq no funciona o en que se escapa cuando llamo a la segunda función.
Lo que me falta es muchísimo, pero si no me complicase, me vería tirando de internet y cambiando algún parametro que otro.
Lo dicho, gracias por vuestro tiempo y un saludo
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 20:19.