我正在努力实现自定义手风琴。它实际上只是一个幻灯片切换显示/隐藏,但我只希望一次打开一个切换,jquery 添加和删除类以获得额外的样式。
下面的代码大部分都有效......让我陷入循环的部分是在我的 h4 元素上添加/删除一类“活动”。当有人点击 H4 时,它应该收到“活动”类,并且我的块中的所有其他 h4 元素都将被“活动”删除。我已经尝试了无数种方法,但我就是无法弄清楚。
这是我的 HTML 示例...
<div class="accord-block">
<h4 class="accordLink"><a href="#">Title of box</a></h4>
<div class="accord-container">
<div class="accord-content">
<p>Lorem ipsum content dolor sit amet desu</p>
</div>
</div>
</div>
<div class="accord-block">
<h4 class="accordLink"><a href="#">Another title of another box</a></h4>
<div class="accord-container">
<div class="accord-content">
<p>Lorem ipsum content dolor sit amet desu</p>
</div>
</div>
</div>
这是我的jQuery ...
$(文档).ready(函数(){ $(".accord-container").hide(); $("h4.accordLink").click(function(){ $(".accord-block").find(".active").removeClass("active"); $(this).toggleClass("active").next().slideToggle("fast"); $(this).parent().toggleClass("activeToggle").siblings() .removeClass("activeToggle").children(".accord-container").hide("fast"); 返回假; }); });
任何见解都会很棒。我走这条路是因为我需要“accord-block”来接收一组 CSS 和 ID,而且当我觉得这个解决方案几乎就在那里时,我不想使用 Jquery UI。
谢谢!
编辑添加:我忘了描述我遇到的问题!使用当前的上述代码,当您单击单个 h4.accordLink “打开”然后“关闭”时,jquery 不会删除“活动”类。当您在一致块之间单击时效果很好,但在打开和关闭单个块时效果不佳。