removeClass和淡入淡出动画

我有这个代码

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

这似乎没有显示我追求的动画。 这样做是为了让“li”完全消失。

基本上我需要的是删除具有淡出效果的类“当前”,然后将其添加到下一个“li”中,具有淡入效果

谢谢

不确定你是否可以用直接的jQuery做到这一点,但我知道jQuery UI有一个修改过的removeClass(),它允许你添加一个持续时间来删除jQuery UI Docs上的类

你不能从一个阶级淡化到另一个阶级。 你必须告诉jQuery在.animate()方法中要设置动画的属性。

要获取下一个li元素,请使用.next()。

AFAIK我认为你不能将fadeOut()添加到removeClass()。 如果我错了,有人会纠正我!

是的,你可以用一些CSS3做到这一点。

您只需将以下内容添加到.current。

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

显然,您需要将颜色/背景颜色更改为您想要设置动画的属性。 否则,Cubed Eye建议包含JqueryUI非常棒,因为jQueryUI中的removeClass将为您完成所有操作。