使用JQuery排除某些项

使用JQuery排除某些项,jquery,jquery-animate,toggle,Jquery,Jquery Animate,Toggle,我有一系列触发JQuery动画的按钮,面板在页面底部向上滑动。面板绝对位于页面下方,单击按钮时,相应的面板会向上动画显示 功能非常好,但我只想在任何给定时间显示一个面板 我的HTML是: <div id="footerNav"> <a class="button" id="b1" href="#"><span></span>Upcoming Events</a> <a class="button" id="b2" href="#"

我有一系列触发JQuery动画的按钮,面板在页面底部向上滑动。面板绝对位于页面下方,单击按钮时,相应的面板会向上动画显示

功能非常好,但我只想在任何给定时间显示一个面板

我的HTML是:

<div id="footerNav">
<a class="button" id="b1" href="#"><span></span>Upcoming Events</a>
<a class="button" id="b2" href="#"><span></span>From the Blog</a>
<a class="button" id="b3" href="#"><span></span>Global Leaders</a>
<a class="button" id="b4" href="#">Watch Video</a>
</div>

<div id="paneb1" class="pane"></div>
<div id="paneb2" class="pane"></div>
<div id="paneb3" class="pane"></div> 
我试着像这样使用not选择器,但不起作用:

$(".pane:not(newSelector)").animate({ 'bottom' : -275});
当切换按钮时,我需要在这里做什么才能使任何其他面板的动画恢复到其原始位置

您可以使用方法而不是
:not()
选择器:

$(".pane").not(newSelector).animate({ bottom : -275 });
<>注意,最好使用局部变量而不是全局变量,所以在定义新变量时考虑使用<代码> var >代码>关键字:

var newSelector = $("#pane" + idClick);
尝试:


由于您的版本没有引用您创建的javascript变量,因此它正在寻找一个名为“newSelector”的选择器。

因为它是一个切换,所以有两个函数,一个用于第一次单击,另一个用于第二次单击。如果我添加了一个var,它将只在它所在的函数中可用,对吗?
var newSelector = $("#pane" + idClick);
$(".pane").not(newSelector).animate({ 'bottom' : -275});