单击第二次后,切换类不会关闭我的侧边栏

时间:2015-10-29 19:56:02

标签: jquery toggle

我使用以下jQuery在class之间切换。当点击切换侧边栏并关闭页面上的其他边栏时,它会添加open,但如果我想要关闭侧边栏时第二次点击,则无法关闭当前的那个。

我的代码:

$('.toggle-sidebar').click(function(event) {
            event.preventDefault();
            $('section aside').removeClass('open');
            $(this).parent().find('aside').toggleClass('open');
        }); 

1 个答案:

答案 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