我目前正在使用此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,但无法让它工作。
由于
答案 0 :(得分:3)
在这种情况下,您可以使用slideDown()
代替slideToggle
。向下滑动显示带有滑动动画的元素而不是切换(显示为隐藏,隐藏显示)。对于已经显示的元素,slideDown
只显示它们并且不会为它们设置动画。 (如果您有“隐藏全部”功能),还有一个slideUp()
功能
http://api.jquery.com/slideDown/
<强> Demo 强>
同样,使用addClass
/ removeClass
代替toggleClass
。