首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery单击事件只工作一次,同时切换侧栏。

jQuery单击事件只工作一次,同时切换侧栏。
EN

Stack Overflow用户
提问于 2018-01-15 04:05:41
回答 3查看 121关注 0票数 0

我试图切换一个侧边栏,但它只工作了一次。我认为查询代码是不言自明的。如果你想的话我可以写HTML代码。

代码语言:javascript
复制
    $('.side-menu').on('click', function(){
        $('.control-sidebar').addClass('active-sidebar');
        $('.side-menu').on('click', function(){
            $('.control-sidebar').removeClass('active-sidebar');
        });
    });
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-15 04:10:15

一个干净的代码解决方案看起来应该是这样的:

代码语言:javascript
复制
$('.side-menu').on('click', function(){
    $('.control-sidebar').toggleClass('active-sidebar');
});
票数 1
EN

Stack Overflow用户

发布于 2018-01-15 04:15:08

我觉得你的逻辑不对。

代码语言:javascript
复制
if(!$('.control-sidebar').hasClass('active-sidebar')){...}

当类“Control-侧栏”没有“active-侧栏”时,此代码将运行。

在开始时,情况会发生,所以您可以单击..side菜单并将类“活动-侧栏”添加到DOM中。这违背了你的第一条逻辑。

此外,为什么在代码中发生两次这种情况?

代码语言:javascript
复制
$('.side-menu').on('click', function(){...}

解决方案:使用切换类:请参见此https://jsfiddle.net/BeklievParviz/rwnpk0wm/

票数 0
EN

Stack Overflow用户

发布于 2018-01-15 04:19:35

代码语言:javascript
复制
$('.side-menu').on('click', function(){
    $('.control-sidebar').toggleClass('active-sidebar');
});

用户此

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48256807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档