2011-09-21 98 views
0

我是一个在查询noob,并试图使一个,显然很简单的事情发生。这是我做的jsfiddle。正如你看到我有3个按钮:关闭(关闭所有打开的div)AZ和AR。当我点击AZ时,它会滑下来,当我点击AR(假设AZ仍然打开)时,它会将AZ上移并滑动AR,因此一次只能打开1个div。但是,如果我点击打开的div,它会向上滑动并再次向下滑动。我想要做的是当div打开(即向下滑动),我点击它不应该再滑动 - >向下。换句话说,如果div是开放的,那么当我再次点击它时什么也不应该发生,因为我有一个关闭按钮。jQuery SlideUp/SlideDown madness

预先感谢您。

回答

0

这对我的作品

http://jsfiddle.net/wfUu5/4/

不说这是理想的解决方案(整个代码可以写成更好),但它使用的代码

+0

伟大的,我知道这是很容易!谢谢。 – mrkrabs

+0

你是对的,它的效果很好,但假设我有20个不需要滑动的2格,那么这将是大量的代码。有没有办法删除所有元素上的'active'类,而不是像这里$('#az,#ar')那样指定#az,#ar。removeClass('active'); ? – mrkrabs

+0

添加一个普通的类,即'slide-togglers',然后简单地执行'$('。slide-togglers')。removeClass('active');' – mreq

0

如果你有可能解决您的问题清理该代码有点我做了一个简单的方法,使其更加动态:http://jsfiddle.net/wfUu5/5/

多数民众赞成如何,我会解决它。

,如果你对你的TDS想要一个“.selected”类:http://jsfiddle.net/wfUu5/6/

+0

这真是太棒了,谢谢,我会尽量优化我的代码并试一试。 – mrkrabs