我有一个简单的折叠面板,它允许所有的折叠。所以点击活动面板折叠它。我有before
和after
伪类分配给箭头,但我不知道如何删除活动类从活动标签时,点击它折叠它。活动类将被删除,如果点击一个不同的标签,但如果单击活动标签将其折叠,则不会出现这种情况。
这是一个fiddle。
剧本是这样的:
$(".accordion > dt").click(function(){
$('.active').removeClass('active');
$(this).addClass('active');
if(false == $(this).next().is(':visible')) {
$('.accordion > dd').slideUp(600);
}
$(this).next().slideToggle(600);
});
我已经尝试了几种不同的配置(例如,反转if(false)
语句并删除active
类),但是我所尝试的一切都是在黑暗中进行的。
3条答案
按热度按时间uujelgoq1#
尝试
gj3fmq9x2#
使用
toggleClass()
和siblings()
试试这个
g6ll5ycj3#
这是因为每次单击时,活动类都会被添加到
dt
元素中。只有在没有活动类存在的情况下,也就是说没有dd
元素可见的情况下,才添加活动类。因此,需要将检查Updated Demo Fiddle。