使用toggleClass的jquery切换功能

时间:2013-06-28 21:27:35

标签: jquery html

我目前正在使用此jquery一次性打开一系列div。

Jquery :( showall)

$("h4.toggle").toggleClass("active shown").nextAll().slideToggle("fast");

我遇到的是,如果其中一个单手切换事先被触发,然后有人使用" showall",它将反转切换而不是显示所有其他div。因此,如果第一个是开放的而其余的是隐藏的,那么现在第一个被隐藏,其余的被显示出来。

以下是HTML div的示例:

 <div id="section" class="legal2">

      <h4 class="dark toggle" id="alt1">Name Name</h4>

      <div class="toggling alt1 hiding">
</div></div>

...

<div id="section" class="legal2">

      <h4 class="dark toggle" id="alt15">Name Name</h4>

      <div class="toggling alt15 hiding">
</div></div>

我在h4上有一个.toggle函数,几乎就是这样:

$('.'+which).toggleClass('showing').slideToggle(300);

是否有一种简单的方法可以让这个“全部显示”工作?我尝试使用if / else,但无法让它工作。

由于

1 个答案:

答案 0 :(得分:3)

在这种情况下,您可以使用slideDown()代替slideToggle。向下滑动显示带有滑动动画的元素而不是切换(显示为隐藏,隐藏显示)。对于已经显示的元素,slideDown只显示它们并且不会为它们设置动画。 (如果您有“隐藏全部”功能),还有一个slideUp()功能

http://api.jquery.com/slideDown/

<强> Demo

同样,使用addClass / removeClass代替toggleClass