Javascript jQuery设置除一个类之外的所有类的动画

Javascript jQuery设置除一个类之外的所有类的动画,javascript,jquery,animation,Javascript,Jquery,Animation,我想知道我们怎么做。。。我什么都没想 所以我的问题标题可能会让人困惑,所以这里是完整的问题。 我们如何运行动画,但跳过一个包含.current 这是菜单动画,所以我不想为当前类设置动画,因为这没有意义 我可以通过在CSS中添加另一个类并使用!对身高很重要。 这样看起来好像没有动画,但如果我检查元素,当然有 JS代码: $("#topMenu li").mouseover(function(){ $(this).find('span').stop().animate({ height:'4

我想知道我们怎么做。。。我什么都没想

所以我的问题标题可能会让人困惑,所以这里是完整的问题。 我们如何运行动画,但跳过一个包含.current

这是菜单动画,所以我不想为当前类设置动画,因为这没有意义

我可以通过在CSS中添加另一个类并使用!对身高很重要。 这样看起来好像没有动画,但如果我检查元素,当然有

JS代码:

$("#topMenu li").mouseover(function(){
    $(this).find('span').stop().animate({ height:'45px' }, { queue:false, duration:600, easing: 'easeOutBounce' });
});

$("#topMenu li").mouseout(function(){
    $(this).find('span').stop().animate({ height:'0px' }, { queue:false, duration:600, easing: 'easeOutBounce' });
});

var currentPage = $('#topMenu span').hasClass('current');

if(currentPage === true) {
    $('span.current').css('display', 'block');
}

所以我可以这样做,看起来没有动画。。。但是我们是否可以这样做,使包含当前类的元素实际上没有动画?

您可以在选择器中添加
:not

$(this).find('span:not(.current)').stop().animate...
$('#topMenu li:not(.current)').mouseover(...)
如果在添加事件处理程序后动态添加该类,请将检查移动到处理程序内部:

$('#topMenu li').mouseover(function () {
  if ($(this).hasClass('current')) return;
  // etc
});

您可以在选择器中添加
:not

$('#topMenu li:not(.current)').mouseover(...)
如果在添加事件处理程序后动态添加该类,请将检查移动到处理程序内部:

$('#topMenu li').mouseover(function () {
  if ($(this).hasClass('current')) return;
  // etc
});

我相信问题是关于限制
动画
,而不是
鼠标盖
。我相信问题是关于限制
动画
,而不是
鼠标盖
。我不敢相信这一点呵呵:太神奇了。。。谢谢你的帮助。我真不敢相信这个。呵呵:太神奇了。。。谢谢你的帮助。