jquery animate,但不是特定的li类

时间:2010-06-26 02:41:45

标签: jquery exception jquery-animate

我正在使用jquery来更改/动画菜单项的bg位置,但如果li类是“活动的”,我需要它不做任何事情,但我似乎无法弄清楚如何使用不选择器(或者即使它适用于这种情况?)。这是代码:

<div id="menuHolder">
  <ul>
    <li class="active"><a href="/">menu 1</a></li>
    <li><a href="/">menu 2</a></li>
    <li><a href="/">menu 3</a></li>
  </ul>
</div>

这是jquery:

$('#menuHolder ul li a').css({ backgroundPosition: "0px -145px" }).mouseover(function(){
  $(this).stop().animate({ backgroundPosition:"(0px 0px)" }, { duration: 500 });
}).mouseout(function() {
  $(this).stop().animate({ backgroundPosition:"(0px -145px)" }, { duration: 500 });
});

^^这使得所有菜单项bg位置发生变化 - 效果很好,除了#menuHolder ul li.active a

之外,我只需要在所有菜单项上执行此操作

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:1)

尝试$(this).filter(':not(.active)')

或者你可以使用(在鼠标悬停内)if (!$(this).hasClass('active')) {