2010-11-24 10 views
5

que tienen el códigoremoveClass y desvanecerse animación

<ul class="nav sub_nav_home"> 
    <li id="sub_nav_home1"><a href="#"><span>LINK1</span></a></li> 
    <li id="sub_nav_home2"><a href="#"><span>LINK2</span></a></li> 
    <li id="sub_nav_home3"><a href="#"><span>LINK3</span></a></li> 
</ul> 

$("ul.sub_nav_home li").hover(function() { 
    $(this).removeClass("current").fadeOut(); 
}); 

esto no parece para visualizar la animación que estaba buscando. Lo que hace es hacer que el "li" desaparezca por completo.

Básicamente lo que necesito es para eliminar la clase "actual" con un efecto de fundido y luego añadirlo a la siguiente "li" con un efecto de fundido de

Gracias

Respuesta

3

No puede desaparecer de una clase a otra. Tienes que decirle a jQuery qué propiedades animar en el método .animate().

Para obtener el siguiente elemento li, use .next().

+0

gracias. ¿Qué tipo de propiedades necesitas en el método animado() para obtener un efecto de desvanecimiento? – user

+0

@user: opacity http://api.jquery.com/animate/ pero podría usar 'fadeTo' o cualquier efecto de jQuery http://api.jquery.com/category/effects/ – Shikiryu

1

AFAIK no creo que pueda agregar un fadeOut() a un removeClass(). ¡Que alguien me corrija si me equivoco!

+0

Está en lo cierto, pero es posible de usted incluye jQuery UI en la página. Con eso puedes eliminar el nombre de la clase con animación. –

6

no está seguro de si se puede hacer esto con jQuery recta, pero sé jQuery UI tiene una removeClass modificado() que le permite agregar una duración de eliminar la clase más jQuery UI Docs

0

Sí, se puede hacer esto con algunos CSS3.

Simplemente agregue lo siguiente a .corrent.

.current{ 
    color: #f00; 
    background-color: #000; 
    transition: color 0.5s, background-color 0.5s; 
    -webkit-transition: color 0.5s, background-color 0.5s; /* Safari */ 
} 

Obviamente, tendrá que cambiar el color/color de fondo de los atributos que desea animar. De lo contrario, la sugerencia de Cubed Eye de incluir JqueryUI es genial, ya que removeClass en jQueryUI lo hará todo por ti ..

Cuestiones relacionadas