如何使用Javascript确定"navbar-toggle"按钮是否折叠或隐藏



是否有一种方法可以通过JS查找,如果切换按钮菜单折叠或隐藏。

我知道显示或隐藏" .Collape"时称为事件:

$('.navbar-collapse').on('shown.bs.collapse', function () { //called when dropdown menu is shown });

此外,我知道显示或隐藏这样的崩溃的方法:

$('.navbar-collapse').collapse('hide'); 

但是我无法找到有关如何获得.collapse的当前状态的任何信息,告诉我是否隐藏或显示。

(我正在以更好的方式编辑此答案。)

是的,您可以使用jquery $(element).is(":可见")

检查该元素是否可见

这是JSfiddle上的实时演示

这是一些HTML

<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>
      <a class="navbar-brand" href="#">WebSiteName</a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li class="dropdown">
          <a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1 <span class="caret"></span></a>
          <ul class="dropdown-menu">
            <li><a href="#">Page 1-1</a></li>
            <li><a href="#">Page 1-2</a></li>
            <li><a href="#">Page 1-3</a></li>
          </ul>
        </li>
        <li><a href="#">Page 2</a></li>
        <li><a href="#">Page 3</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
        <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
      </ul>
    </div>
  </div>
</nav>
<div class="container">
  <h3>Collapsible Navbar</h3>
  <p>In this example, the navigation bar is hidden on small screens and replaced by a button in the top right corner (try to re-size this window).
  <p>Only when the button is clicked, the navigation bar will be displayed.</p>
</div>
<input type="button" value="click me" onclick="clickedIt()" />

这是一些JavaScript

function clickedIt() {   
   var canSee = $("#myNavbar").is(":visible");
   alert(canSee);
}

最新更新