【问题标题】:Bottom navbar show/hide on 1-click - CSS一键式底部导航栏显示/隐藏 - CSS
【发布时间】:2017-12-06 09:11:58
【问题描述】:

在我的手机屏幕上,我在主要内容的底部有一个导航栏,标题刚刚弹出。

我想在触摸标题时为过渡设置动画以显示整个隐藏的 div。

然后当我再次单击标题时,它会动画回到其初始位置。

我设法只使用没有动画的 jQuery 完成了第一部分。 如果您对完整的 CSS 有任何建议,我也很感兴趣。

$('.open-nav').click(function () {
    $('.navbar-bottom').css('bottom', '0');
});
.container {
    width: 200px;
    border: 1px solid black;
    height: 100vh;
}
.open-nav {
    cursor: pointer;
}
.navbar-bottom {
    height: 158px;
    background-color: yellow;
    width: 100%;
    display: flex;
    flex-direction: column;
    position: fixed;
    bottom: -112px;
    width: 200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="container">
  <p>WHAT OFFER ?</p>
  
  
  <nav class="navbar-bottom">
    <div class="open-nav">
        <h3>DO AN OFFER</h3>
    </div>
    <div class="nav-content">
        <ul>
            <li>
                <a href="#">OFFER HIM</a>
            </li>
            <li>
                <a href="#">OFFER YOU</a>
            </li>
            <li>
                <a href="#">OFFER THEM</a>
            </li>
            <li>
                <a href="#">OFFER THAT</a>
            </li>
        </ul>
    </div>
  </nav>
<div>

【问题讨论】:

    标签: jquery css


    【解决方案1】:

    使用toggleClass() 切换隐藏的div,使用transition 切换动画

    $('.open-nav').click(function() {
      $('.navbar-bottom').toggleClass("opened");
    });
    .container {
      width: 200px;
      border: 1px solid black;
      height: 100vh;
    }
    
    .open-nav {
      cursor: pointer;
    }
    
    .navbar-bottom {
      height: 158px;
      background-color: yellow;
      width: 100%;
      display: flex;
      flex-direction: column;
      position: fixed;
      bottom: -112px;
      width: 200px;
      transition: all .5s;
    }
    
    .opened {
      bottom: 0;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <div class="container">
      <p>WHAT OFFER ?</p>
    
    
      <nav class="navbar-bottom">
        <div class="open-nav">
          <h3>DO AN OFFER</h3>
        </div>
        <div class="nav-content">
          <ul>
            <li>
              <a href="#">OFFER HIM</a>
            </li>
            <li>
              <a href="#">OFFER YOU</a>
            </li>
            <li>
              <a href="#">OFFER THEM</a>
            </li>
            <li>
              <a href="#">OFFER THAT</a>
            </li>
          </ul>
        </div>
      </nav>
      <div>

    【讨论】:

    • 像魅力一样工作。不知道为什么我被困在首位,也许我想做完整的 CSS。我会接受你的回答。
    • 很高兴它有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多