首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当菜单打开时,如何在页面主体中添加一个类?

当菜单打开时,如何在页面主体中添加一个类?
EN

Stack Overflow用户
提问于 2018-04-04 13:50:39
回答 3查看 71关注 0票数 1

我在网站的左下角创建了一个“更多”按钮来显示菜单。

当你点击按钮时,+就变成了x

https://www.s1biose.com/groupe/recettes-et-astuces

代码语言:javascript
复制
<div class="dropup">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdown-menu-action" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    <div class="fa-4x">
      <span class="fa-layers fa-fw">
        <i class="fas fa-circle"></i>
        <i class="fa-inverse fas fa-plus" data-fa-transform="shrink-6"></i>
      </span>
    </div>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdown-menu-action">
    <li><a href="/profil" data-drupal-link-system-path="profil"><i class="fas fa-id-card fa-lg"></i> Créer mon profil</a></li>
  </ul>
</div>

如何在页面主体中添加类.overlay-is-navbar-collapse,当菜单打开时删除类,当菜单关闭时删除类?

以下代码不起作用。如果我单击外部,菜单将关闭,但类仍保留在body上。

代码语言:javascript
复制
  $('#dropdown-menu-action').on('click', () => {
       $('body').toggleClass('overlay-is-navbar-collapse');
  });

我已经尝试了以下代码,但它不起作用:

代码语言:javascript
复制
  $('#dropdown-menu-action').on('shown.bs.dropdown', function () {
       $('body').addClass('overlay-is-navbar-collapse');
  });

  $('#dropdown-menu-action').on('hidden.bs.dropdown', function () {
       $('body').removeClass('overlay-is-navbar-collapse');
  });
EN

回答 3

Stack Overflow用户

发布于 2018-04-04 14:01:14

你为什么不试试这个呢

代码语言:javascript
复制
 $('#dropdown-menu-action').on('click', () => {
   $('body').toggleClass('overlay-is-navbar-collapse');
 });
$('.dialog-off-canvas-main-canvas').on('click', () => {
   $('body').removeClass('overlay-is-navbar-collapse');
});
票数 0
EN

Stack Overflow用户

发布于 2018-04-04 14:14:49

在添加body的类时,使用.one将侦听器附加到body:

代码语言:javascript
复制
$('#dropdown-menu-action').on('click', () => {
  $('body').addClass('overlay-is-navbar-collapse');
  $('body').one('click', () => {
    $('body').removeClass('overlay-is-navbar-collapse');
  });
});
票数 0
EN

Stack Overflow用户

发布于 2018-04-04 14:56:31

尝尝这个,

代码语言:javascript
复制
 $('dropdown-menu-action').click(function(){
        if($(body).hasClass('overlay-is-navbar-collapse')){
            $('body').removeClass('overlay-is-navbar-collapse');
        }
        else{
            $('body').addClass('overlay-is-navbar-collapse');
        }
});
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49643700

复制
相关文章

相似问题

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