Foros del Web » Programando para Internet » Javascript »

Se puede agregar onmouseover y onmouseout a este script?

Estas en el tema de Se puede agregar onmouseover y onmouseout a este script? en el foro de Javascript en Foros del Web. Hola a todos... Tengo este scrip obtenido del indice de las FAQ en el cual puedo cambiar el color de una celda donde se ha ...
  #1 (permalink)  
Antiguo 18/10/2006, 13:09
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 7 meses
Puntos: 3
Se puede agregar onmouseover y onmouseout a este script?

Hola a todos...
Tengo este scrip obtenido del indice de las FAQ en el cual puedo cambiar el color de una celda donde se ha producido un click, retornando luego al color original cuando se produzca un click en otra celda.
Lo que quiciera, si es posible que alguien me ayude, para agregarle también onmouseover y onmouseout para que al pasar el raton cambie de color, complementandose con el proceso anterior.
No se si me expliqué bien?
Desde ya muchas gracias!!!

Código HTML:
 <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
  <!--
        var celda_ant;

        celda_ant="";

      function ilumina(celda){
          if (celda_ant=="")
            {
                celda_ant = celda;
            }
          celda_ant.style.backgroundColor="#6699cc";
            celda.style.backgroundColor="white";
            celda_ant = celda;
        }

  //-->
  </SCRIPT> 
  #2 (permalink)  
Antiguo 18/10/2006, 13:21
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 9 meses
Puntos: 2
Claro que se puede:

celda_ant.onmouseover = function() {lo que quieras que haga }

Espero te ayude, salu2

Rodrigo
  #3 (permalink)  
Antiguo 18/10/2006, 13:39
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 7 meses
Puntos: 3
Gracias rProgged...

Por favor, si no es mucho pedir... como colocarias eso en el script para incorporar el onmouseover?
Gracias por la ayuda!!!
  #4 (permalink)  
Antiguo 18/10/2006, 15:32
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 9 meses
Puntos: 2
OPS!!!, ahora te entendí lo que quieres hacer.

Mira, eso es un atributo de la celda y quedaria algo así:

<td onMouseOver="this.style.background='#FBFFCC';" onMouseOut="this.style.background='#FFFFFF';">
....cualquier cosa que tengas dentro de la celda
</td>

Eso haria que al pasar el mouse sobre la celda se cambie el color, ahora bien, para que funcione tendrias que evitar que esto siga ocurriendo una vez que haces clic sobre la celda, de otra forma los procesos seran excluyentes y no complementarios como tu quieres, para eso tendrias que modificar la función como sigue:

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--
var celda_ant;

celda_ant="";

function ilumina(celda){
if (celda_ant=="")
{
celda_ant = celda;
}
celda_ant.style.backgroundColor="#6699cc";
celda_ant.onmouseover = function(){ this.style.background='#FBFFCC';" }
celda_ant.onmouseout= function(){ this.style.background='#FFFFFF'; }
celda.style.backgroundColor="white";
celda.onmouseover='';
celda.onmouseout='';
celda_ant = celda;
}

//-->
</SCRIPT>


Eso deberia andar bien, sigo disponible para cualquier consulta.

Salu2,

Rodrigo
  #5 (permalink)  
Antiguo 18/10/2006, 17:19
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 7 meses
Puntos: 3
No funciona...

Gracias rProgged...
A la función del script original la llamaba de esta forma:

<td bgcolor="6699cc" onclick="ilumina(this)">CONTENIDO CELDA</td>

Ahora bien, inplementando tu ayuda, llamaria a la función de esta forma:

<td bgcolor="#6699cc" onclick="ilumina(this)" onmouseover='this.style.background="#FBFFCC"' onmouseout='this.style.background="#FFFFFF"'>CONTE NIDO CELDA</td>

De esta forma no me funciona el onclick pero sí el onmouseover y el onmouseout. No se si estoy llamando adecuadamente a la función de esta forma.
Gracias por la ayuda!!!
  #6 (permalink)  
Antiguo 19/10/2006, 06:53
 
Fecha de Ingreso: agosto-2004
Mensajes: 131
Antigüedad: 19 años, 9 meses
Puntos: 2
Fijate en los colores

Lo probé y funciona OK, es sólo un tema de confusión de colores.

Primero que todo debes fijarte que en la función javascript hay una comilla (") de más:
celda_ant.onmouseover = function(){ this.style.background='#FBFFCC';" }
Debes borrar esa comilla.

Al iluminar la celda vuelve a blanco, cambia eso por el color que tú tienes:

<td bgcolor="#6699cc" onclick="ilumina(this)" onmouseover='this.style.background="#FBFFCC"' onmouseout='this.style.background="#6699cc"'>CONTE NIDO CELDA</td>


Y haz lo mismo en la función:

celda_ant.onmouseout= function(){ this.style.background='#6699cc' }


Eso es, insisto en que a mi me funciona bien con explorer y firefox, así que ojo.

A tu disposición,

Rodrigo
  #7 (permalink)  
Antiguo 19/10/2006, 11:33
 
Fecha de Ingreso: octubre-2004
Mensajes: 768
Antigüedad: 19 años, 7 meses
Puntos: 3
Muchas gracias Rodrigo...!!!

Funciona perfecto... gracias por tu paciencia y tu tiempo!!!
Un abrazo...!!!
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 15:18.