Ver Mensaje Individual
  #6 (permalink)  
Antiguo 18/03/2011, 00:39
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: No me funciona :active

Bueno acá está:

http://jsbin.com/axoxu4/4

El botón usa esta imagen para los tres estados:


Si vas al botón "Edit in JS Bin" arriba a la derecha podés ver el código y hacer cambios también.

Este es el html:
Código HTML:
Ver original
  1. <p><a class="boton" href="#"></a></p>
  2.   <p><a class="boton" href="#"></a></p>
  3.   <p><a class="boton" href="#"></a></p>

Este el CSS:
Código CSS:
Ver original
  1. /*estilo para el boton*/
  2.   .boton{
  3.     display:block;
  4.     width:100px;
  5.     height:50px;
  6.     background: url('http://www.freeimagehosting.net/uploads/c3f1b24bbb.jpg') top center no-repeat;
  7.   }
  8.   /*estilo para el hover*/
  9.   .boton:hover{
  10.     background-position: center center;
  11.   }
  12.   /*estilo para la clase activo y para :active*/
  13.   .activo{
  14.     background-position: bottom center;
  15.   }

Acá lo importante: Cuando defino la imagen de fondo, sólo lo hago para el botón al principio, aclarando que su posición debe ser "top center" (la imagen de arriba). Luego, para :hover defino una nueva posición que es "center center" (la del centro) y para el estado activo es "bottom center" (la del fondo).


Y este el código con jQuery:

Código Javascript:
Ver original
  1. <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  2. <meta charset=utf-8 />
  3. <script type="text/javascript">
  4.  $(document).ready(function(){
  5.   //al hacer click en el boton:
  6.   $('.boton').click(function(){
  7.     //quitar la clase .activo al boton que la tenga:
  8.     $('.activo').removeClass('activo');
  9.     //agregar la clase .activo al boton al que hicimos click:
  10.     $(this).addClass('activo');
  11.   });
  12. });
  13. </script>

En este caso definir un estilo para :active no tiene mucho sentido. Adaptar ese código a tus necesidades no debería ser complicado.