Ver Mensaje Individual
  #8 (permalink)  
Antiguo 09/03/2012, 14:08
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: Botones con mouseover mouseout y onclick

Eso es lo que muestra el tutorial que te pasé. Te voy a explicar de nuevo.

Mirá este ejemplo:
Código HTML:
Ver original
  1. <!doctype html>
  2.     <title></title>
  3.     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
  4.     <script type="text/javascript">
  5.         $(function(){
  6.             //variables de configuración
  7.             var clase_activo = 'boton-activo';
  8.             var clase_boton = 'boton';         
  9.            
  10.             //obtenemos los botones
  11.             var botones = $('.' + clase_boton);
  12.            
  13.             //agregar clase activa si se hace click
  14.             botones.click(function(){
  15.                 botones.not(this).removeClass(clase_activo);
  16.                 $(this).addClass(clase_activo)
  17.             });
  18.         });
  19.     </script>
  20.     <style type="text/css">
  21.     <!--
  22.         .boton{
  23.             /* Estilos comunes para TODOS los botones */
  24.             display:block;
  25.             float:left;
  26.             width:88px;
  27.             height:198px;
  28.             text-indent:-3333px; /*ocultar el texto*/
  29.             background-position:right; /* ubicar la imagen de fondo hacia la derecha */
  30.         }
  31.         /* estilos para cada boton */
  32.         #boton-axe{
  33.             background-image:url('http://nahueljose.com.ar/upload/uploads/axe.jpg');           
  34.         }
  35.         /* estilos para el boton activo y para el hover */
  36.         .boton:hover, .boton-activo{
  37.             background-position:left; /* ubicar la imagen de fondo hacia la izquierda */
  38.         }
  39.     -->
  40.     </style>
  41. </head>
  42.     <!-- el boton es un link con el texto axe unlimited, el cual ocultamos y ponemos una imagen -->
  43.     <a class="boton" id="boton-axe" href="#">Axe Unlimited</a>
  44. </body>
  45. </html>


La primera parte se puede lograr sólo con CSS. Lo que necesitás es crear una imagen sprite. Es decir, una imagen de tu boton con todos los estados. Ejemplo:


Entonces, en este ejemplo, cada parte tiene 98px por 198px. Creás un elemento y le asignás esas dimensiones (en este caso) y ubicás el fondo hacia un lado (usando background-position).

Vos querés que cuando se pase el mouse cambie de color o de estado. Entonces lo que tenés que hacer es "mover" el fondo que creaste nuevamente pero hacia el otro lado.

Además, si al hacer click querés que se quede con la misma forma que si estuviese el mouse encima, quiere decir que el estado :hover tiene que compartir el estilo con la clase .boton-activo. Esta clase necesitamos agregarla con jQuery. Es para lo único que usamos javascript, sólo para agregarle la clase cuando se hace click y quitársela a los demás.

Estudiá el ejemeplo, está todo ahí! Hasta podés usar el mismo código.
__________________
nahueljose.com.ar