Foros del Web » Programando para Internet » Javascript »

Problemas con mouseout y mouseover

Estas en el tema de Problemas con mouseout y mouseover en el foro de Javascript en Foros del Web. Hola Tengo un Menu con imagenes el cual manejo que cuando esta onmouseover -> "Imagen A" y cuando tiene onmouseout -> "Imagen B". Mi problema ...
  #1 (permalink)  
Antiguo 07/04/2010, 23:52
Avatar de Yedi  
Fecha de Ingreso: junio-2006
Ubicación: México
Mensajes: 159
Antigüedad: 17 años, 10 meses
Puntos: 2
Pregunta Problemas con mouseout y mouseover

Hola
Tengo un Menu con imagenes el cual manejo que cuando esta onmouseover -> "Imagen A" y cuando tiene onmouseout -> "Imagen B".

Mi problema es que cuando se de clic en una opcion, esta, se quede con la "Imagen A", y al dar clic en otra opcion vuelva a su estado natural y la nueva imagen tenga el mismo efecto.

Busque aqui en los foros y encontre esta solucion que fue dada por Cap.Buscapina

Código:
<html>
<head>
<title></title>
<script>
var Click="";
function clk(cc){
Click.className="fondo";
Click=cc;
}
function over(c){
c.className="fondo_over";
}
function out(C){
C.className="fondo";
Click.className="fondo_over";
}
</script>
<style type="text/css">
<!--
.fondo {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #666666;
	background-color: #FFFFCC;
	background-image: url(fondo.gif);
}
.fondo_over {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 14px;
	color: #eeeeee;
	background-color: #FF9900;
	background-image: url(fondo_over.gif);
}
-->
</style>
</head>
<body >
<table width="100" border="1" align="center">
  <tr>
    <td width="100" height="40" class="fondo" onclick="clk(this)" onmouseover="over(this)" onmouseout="out(this)">&nbsp;</td>
  </tr>
  <tr>
    <td width="100" height="40" class="fondo" onclick="clk(this)" onmouseover="over(this)" onmouseout="out(this)">&nbsp;</td>
  </tr>
  <tr>
    <td width="100" height="40" class="fondo" onclick="clk(this)" onmouseover="over(this)" onmouseout="out(this)">&nbsp;</td>
  </tr>
</table>
</body>
</html>
Lo bueno es q funciona como deseo..lo malo es q cuando intento aplicarlo con 7 imagenes de menu..no se como hacerlo, hize varias pruebas pero no me quedan.

De antemano les agradezco
  #2 (permalink)  
Antiguo 08/04/2010, 11:39
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: Problemas con mouseout y mouseover

Yo tuve un problema parecido al tuyo, lo solucioné con jquery. Tenía un menú con 5 opciones y quería que cada vez que se pulsase una, se activara y si se pulsaba otra, ésta nueva se activara y se desactivaran las demás.
Te dejo el código de cómo lo hice:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.             $(document).ready(function() {
  3.                 $(".btn_principal").click(function() {
  4.                     $(this).addClass("activo_principal");
  5.                     $(".btn_historia").removeClass("activo_historia");
  6.                     $(".btn_actividades").removeClass("activo_actividades");
  7.                     $(".btn_grupos").removeClass("activo_grupos");
  8.                     $(".btn_contacto").removeClass("activo_contacto");
  9.                 });
  10.                
  11.                 $(".btn_historia").click(function() {
  12.                     $(this).addClass("activo_historia");
  13.                     $(".btn_principal").removeClass("activo_principal");
  14.                     $(".btn_actividades").removeClass("activo_actividades");
  15.                     $(".btn_grupos").removeClass("activo_grupos");
  16.                     $(".btn_contacto").removeClass("activo_contacto");
  17.                 });
  18.                
  19.                 $(".btn_actividades").click(function() {
  20.                     $(this).addClass("activo_actividades");
  21.                     $(".btn_principal").removeClass("activo_principal");
  22.                     $(".btn_historia").removeClass("activo_historia");
  23.                     $(".btn_grupos").removeClass("activo_grupos");
  24.                     $(".btn_contacto").removeClass("activo_contacto");
  25.                 });
  26.                
  27.                 $(".btn_grupos").click(function() {
  28.                     $(this).addClass("activo_grupos");
  29.                     $(".btn_principal").removeClass("activo_principal");
  30.                     $(".btn_historia").removeClass("activo_historia");
  31.                     $(".btn_actividades").removeClass("activo_actividades");
  32.                     $(".btn_contacto").removeClass("activo_contacto");
  33.                 });
  34.                
  35.                 $(".btn_contacto").click(function() {
  36.                     $(this).addClass("activo_contacto");
  37.                     $(".btn_principal").removeClass("activo_principal");
  38.                     $(".btn_historia").removeClass("activo_historia");
  39.                     $(".btn_actividades").removeClass("activo_actividades");
  40.                     $(".btn_grupos").removeClass("activo_grupos");
  41.                 });
  42.             });  
  43.         </script>

Básicamente, por cada botón tengo dos clases, una con la imagen en estado normal y la otra con la imagen activada, cada vez que se pulsa un botón se "llama" a la clase activa y se "llaman" a las clases normal del resto de botones. Que es lo mismo que tienes en tu código.

Espero que te sea de ayuda

Etiquetas: mouseover
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 11:05.