我使用以下jQuery在class
之间切换。当点击切换侧边栏并关闭页面上的其他边栏时,它会添加open
,但如果我想要关闭侧边栏时第二次点击,则无法关闭当前的那个。
我的代码:
$('.toggle-sidebar').click(function(event) {
event.preventDefault();
$('section aside').removeClass('open');
$(this).parent().find('aside').toggleClass('open');
});
答案 0 :(得分:1)
所以:
2015-10-20 14:49:52,852 [-] [tcp-Worker-14] INFO
2015-10-20 14:49:52,853 [-] [tcp-Worker-19] INFO
2015-10-20 14:49:52,854 [-] [tcp-Worker-6] INFO
2015-10-20 14:49:52,855 [-] [tcp-Worker-7] INFO
2015-10-20 14:49:52,856 [-] [tcp-Worker-9] INFO
2015-10-20 14:49:52,857 [-] [tcp-Worker-15] INFO
2015-10-20 14:49:52,858 [-] [tcp-Worker-2] INFO
从所有$('section aside').removeClass('open');
中删除open
类,即使是当前的。所以它现在没有aside
课程。
这个
open
将$(this).parent().find('aside').toggleClass('open');
类添加到当前open
。因此,您实际上没有从当前aside
删除open
课程的代码。
我认为您应该检查:如果当前aside
已打开aside
- 则只删除它,否则 - 添加和删除其他class
。有点:
aside