【问题标题】:Bootstrap 3 keep menu open and show divBootstrap 3 保持菜单打开并显示 div
【发布时间】:2017-05-15 21:35:57
【问题描述】:

我已经构建了一个带有配置文件下拉菜单的导航栏(菜单右侧):

http://www.bootply.com/Rqj51l2VFO

<nav class="navbar navbar-inverse">
    <div class="container-fluid">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
      </div>
      <div class="collapse navbar-collapse" id="myNavbar">
        <ul class="nav navbar-nav" <!--style="width:96%" -->>
          <li><a href="{$settings['web_process_url']}?function=show_open_cases">Open Cases</a></li>
          <li><a href="{$settings['web_process_url']}?function=show_closed_cases">Closed Cases</a></li>
          <li><a href data-toggle="modal" data-target="#create_case" data-backdrop="true">Raise New Case</a></li>
          <li class="active"><a href="#">{$case['object_ref']}</a></li>
          <!-- <li style="float:right;"><a href="" data-toggle="modal" data-target="#help-modal"><span class="glyphicon glyphicon-question-sign"/></a></li> -->
        </ul>

        <!-- http://bootsnipp.com/snippets/featured/account-in-navbar -->
        <ul class="nav navbar-nav navbar-right">
          <li class="dropdown" id="menu">
            <a href="#" data-toggle="dropdown">
              <span class="glyphicon glyphicon-user"></span>
              <strong>{$person['name']}</strong>
              <span class="glyphicon glyphicon-chevron-down" style="margin-left: 10px;"></span>
            </a>
            <ul class="dropdown-menu">
              <li>
                <div class="navbar-login" style="width: 400px;">
                  <div class="row">
                    <div class="col-lg-4">
                      <p class="text-center"><span class="glyphicon glyphicon-user icon-size" style="font-size: 75px;"></span></p>
                      <p><a href="#" data-toggle="collapse" data-target="#change_pic">Change Photo</a></p>
                    </div>
                    <div class="collapse" id="change_pic">
                      <p>Hi!</p>
                    </div>
                    <div class="col-lg-8">
                      <p class="text-left"><strong>Email Address</strong></p>
                      <p class="text-left small">{$person['main_location[email]']}</p>
                    </div>
                  </div>
                </div>
              </li>
              <li class="divider"></li>
              <li>
                <div class="navbar-login navbar-login-session">
                  <div class="row">
                    <div class="col-lg-3"></div>
                    <div class="col-lg-6">
                      <p><a href="{$settings['web_process_url']}?logout=1" class="btn btn-danger btn-block">Logout</a></p>
                    </div>
                    <div class="col-lg-3"></div>
                  </div>
                </div>
              </li>
            </ul>
          </li>
        </ul>
      </div>
    </div>
  </nav>

当我单击更改照片链接时,我希望打开一个 Div 并保持打开菜单,以便用户可以与显示的输入进行交互,即用户将在个人资料中输入他们想要的照片的 URL。

这工作正常,但菜单消失了。所以我添加了以下JS,所以菜单保持不变:

JS:

$('#menu .dropdown-menu').on({
  "click": function(e) {
    e.stopPropagation();
  }
});

我遇到的问题是现在菜单保持打开状态 - 引导折叠类无法显示/隐藏。

谁能解释一下我在这里做错了什么?

【问题讨论】:

    标签: javascript twitter-bootstrap drop-down-menu


    【解决方案1】:

    这是在单击后保持下拉菜单打开并保持折叠类显示/隐藏的一种方法。 ...

    将 ID 添加到您的更改照片按钮:

    <p><a href="#" id="change-photo" data-toggle="collapse" data-target="#change_pic">Change Photo</a></p>
    

    使用以下功能:

    $('#change-photo').on('click', function () {
        $('#change_pic').toggle();
        return false;
    });
    

    在这里查看:http://www.bootply.com/8Yo0fBXgN9#

    【讨论】:

    • 我已经在使用选项 2,点击链接时显示的菜单不是这里的问题 - 当我点击链接时它会显示 div ......你能帮忙吗?
    • 我已经检查了你的代码并在bootply.com/Rqj51l2VFO 运行它,一切都很顺利......
    • 点击“更改照片”...它不显示“嗨!”的 div问题出在哪里...
    • 对不起,我没听懂你的问题
    • 对不起,如果我没有正确解释自己。我想要发生的事情如下:单击下拉菜单,用户单击更改照片,然后在下拉菜单中显示一个 div,当前文本为“hi!”。目前发生的是下拉菜单消失,当我重新打开它时,div 是可见的。我已经使用了您上面的选项 2,它在菜单上为我提供了所需的行为,但 div 的显示/隐藏不起作用......这有意义吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-22
    • 1970-01-01
    • 2012-05-15
    • 2015-06-03
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多