Javascript隐藏并显示div

时间:2016-11-21 08:29:04

标签: javascript css javascript-events

下面的代码是我的css文件。我在这里尝试做的是在我没有选择导航按钮<div class="container navbar-more visible-xs">时隐藏<a href="#navbar-more-show">。但是当我选择导航按钮时,将出现容器导航栏。这里的问题是我不确定如何默认隐藏div类,它一直出现在我的页面上,我想让它在我点击导航按钮时出现。

    $(document).ready(function() {
      $('a[href="#navbar-more-show"], .navbar-more-overlay').on('click', function(event) {
        event.preventDefault();
        $('body').toggleClass('navbar-more-show');

        if ($('body').hasClass('navbar-more-show')) {

          $('a[href="#navbar-more-show"]').closest('li').addClass('active');
        } else {
          $('a[href="#navbar-more-show"]').closest('li').removeClass('active');
        }
        return false;
      });
    });
 body.navbar-more-show {
  overflow: hidden;
}
.animate {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.navbar {
  height: calc(100%);
  max-height: 300px;
  -webkit-transform: translate(0px, calc(-100% + 69px));
  transform: translate(0px, calc(-100% + 595px));
}
.navbar .container:not(.navbar-more) {
  padding: 0px;
}
.navbar-more-overlay {
  background-color: rgba(102, 102, 102, 0.55);
  display: none;
  height: 100%;
  left: 0px;
  position: fixed;
  top: 0px;
  width: 100%;
  z-index: 1029;
}
.navbar-more-show > .navbar-more-overlay {
  display: block;
}
.navbar-more-show > .navbar {
  -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 295px);
}
.navbar-nav.mobile-bar {
  list-style: none;
  -ms-box-orient: horizontal;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -moz-flex;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: stretch;
  align-items: stretch;
  margin: 0px 0px;
}
.navbar-nav.mobile-bar > li {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  text-align: center;
}
.navbar-nav.mobile-bar > li > a > span.menu-icon {
  display: block;
  font-size: 1.8em;
}
.navbar-more {
  background-color: rgb(255, 255, 255);
  height: calc(100% - 69px);
  overflow: auto;
}
.navbar-more .navbar-form {
  border-width: 0px;
}
.navbar-more .navbar-nav > li > a {
  color: rgb(64, 64, 64);
}
.navbar-more > .navbar-nav > li > a > span.menu-icon {
  margin-left: 10px;
  margin-right: 10px;
}
@media (min-width: 768px) {
  .navbar {
    height: auto;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
  .navbar-nav.mobile-bar {
    display: block;
    max-height: 64px;
    margin: 0px -.;
  }
  .navbar-nav.mobile-bar > li > a > span.menu-icon {
    display: none;
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="navbar-more-overlay"></div>
<nav class="navbar navbar-inverse navbar-fixed-top animate">
  <div class="container navbar-more visible-xs">
    <form class="navbar-form navbar-left" role="search">
      <div class="form-group">
        <div class="input-group">
          <input type="text" class="form-control" placeholder="Search for...">
          <span class="input-group-btn">
    							<button class="btn btn-default" type="submit">Submit</button>
    						</span>
        </div>
      </div>
    </form>
    <ul class="nav navbar-nav">
      <li>
        <a href="#">
          <span class="menu-icon fa fa-picture-o"></span>
          Photos
        </a>
      </li>
      <li>
        <a href="#">
          <span class="menu-icon fa fa-bell-o"></span>
          Reservations
        </a>
      </li>
    </ul>
  </div>
  <div class="container">
    <div class="navbar-header hidden-xs">
      <a class="navbar-brand" href="#">Brand</a>
    </div>

    <ul class="nav navbar-nav navbar-right mobile-bar">
      <li>
        <a href="#">
          <span class="menu-icon fa fa-home"></span>
          Home
        </a>
      </li>
      <li>
        <a href="#">
          <span class="menu-icon fa fa-info"></span>
          <span class="hidden-xs">About the Boat</span>
          <span class="visible-xs">About</span>
        </a>
      </li>

      </li>

      <li>
        <a href="#">
          <span class="menu-icon fa fa-phone"></span>	
          <span class="hidden-xs">Contact Us</span>
          <span class="visible-xs">Contact</span>
        </a>
      </li>
      <li class="visible-xs">
        <a href="#navbar-more-show">
          <span class="menu-icon fa fa-bars"></span>
          More
        </a>
      </li>
    </ul>
  </div>
</nav>

  

滚动到底部查看结果中的内容!

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法

$('#YOURDIV').show() // Show your div like display:block;
$('#YOURDIV').hide() // Hide your div like display:none;

答案 1 :(得分:0)

从你的描述中,你只需要添加代码来隐藏元素开头:

$(document).ready(function() {
     $(".container.navbar-more.visible-xs").hide();
     // your other code...
}