【问题标题】:Nav-bar toggle matters导航栏切换很重要
【发布时间】:2021-09-07 13:30:31
【问题描述】:

我想知道如何使用 jquery 创建响应式导航栏。 此 javascript 用于切换导航栏的动画,但不是导航链接。我怎样才能做到这一点?我想知道当#nav-icon1 被切换而不仅仅是动画时菜单下拉菜单。

Js

$(document).ready(function(){
    $('#nav-icon1').click(function(){
        $(this).toggleClass('open');
    });
});

HTML

<header>
    <a href="index.html" class="logo"><img src="images/logo/logo.svg" alt=""  width="250px"></a>

    <nav>
        <ul class="nav-links open">

            <li><a href="index.html" class="a1" >Explore</a></li>
            <li><a href="index.html" class="a1" >About</a></li>
            <li><a href="index.html" class="a1" >Pricing</a></li>
            <li><a href="index.html" class="a1" >Login</a></li>
            <li id="line-1">
                <div class="line"></div>
            </li>
            <li><a href="index.html" class="register">
                <button>Register</button>
            </a></li>
        </ul>
    </nav>

    <div id="nav-icon1">
        <span></span>
        <span></span>
        <span></span>
    </div>
</header>

CSS

@media (max-width: 1200px) {

    header {
        flex-direction: column;
    }
    #line-1{
        padding: 0;
    }
    .line{
        display: none;
    }
    .logo{
        padding-bottom: 30px;
    }
    nav ul {
        flex-direction: column;
        width: 100%;
        align-items: center;
    }
    .nav-links{
        display: none;
        width: 100%;
    }
    nav ul li a{
        padding: 50px;
        font-size: 35px;
    }
    .nav-links li .a1:hover {
        background-color: white;
        border: none;
        color: black;
        font-size: 50px;
        overflow: hidden;
        padding: 10px 25px 40px;

    }
    .register button{
        font-size: 25px;
        border-radius: 45px;
        padding: 15px 30px;
        margin-left: 5px;
    }
    .open{
        display: flex;
    }

}

【问题讨论】:

    标签: javascript html jquery css navbar


    【解决方案1】:

    我对你的问题有点困惑。我应该相信你想要这样的东西。

    或者在我创建的 Codepen 上试试这个https://codepen.io/Preygremmer15/pen/LYLbdmq

    $(document).ready(function(){
        $('#nav-icon1').click(function(){
            //target myNav id to toggle class 'open'
    
            $("#myNav").toggleClass('open');
        });
    });
    body {
      font-family: Lato;
      background-color: #f5f5f5;
      margin: 0;
    }
    
    header {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
      height: 60px;
      background-color: grey;
    }
    
    header img {
      padding: 0 10px;
      height: 40px;
      object-fit: cover;
    }
    
    #nav-icon1 {
      position: absolute;
      right: 15px;
      display: none; 
      align-items: center;
      justify-content: center;
      font-size: 20px;
      height: 40px;
    }
    
    #nav-icon1:hover {
    cursor: pointer;
    }
    
    #nav-icon1 span {
      height: 6px;
    }
    
    #myNav ul {
      display: flex;
      gap: 10px;
    }
    
    #myNav ul li {
      list-style: none;
     
    }
    
    #myNav ul li a {
      text-decoration: none;
      color: #fff;
    }
    
    .open {
     display: flex !important;
      width: 200px;
    }
    
    @media (max-width: 1200px) {
        #nav-icon1 {
            display: flex;
        }
        
        #myNav {
            display: none;
            position: absolute;
            background-color: white;
            top: 60px;
            right: 0;
            height: auto;
            width: 200px;
        }
        
        #myNav ul {
         display: flex;
         flex-direction: column;
         align-items: flex-end;
         width: 100%;
         height: 100%;
         padding: 15px 15px;
        }
        
        #myNav ul li a {
          color: #000;
          font-size: 20px;
        }
    }
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <header>
        <a href="index.html" class="logo"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/02/Stack_Overflow_logo.svg/1280px-Stack_Overflow_logo.svg.png" alt="">
          
        </a>
    
        <nav id="myNav">
            <ul class="nav-links">
    
                <li><a href="index.html" class="a1" >Explore</a></li>
                <li><a href="index.html" class="a1" >About</a></li>
                <li><a href="index.html" class="a1" >Pricing</a></li>
                <li><a href="index.html" class="a1" >Login</a></li>
                <li id="line-1">
                    <div class="line"></div>
                </li>
                <li><a href="index.html" class="register">
                    <button>Register</button>
                </a></li>
            </ul>
        </nav>
        
        <div id="nav-icon1">
          <i class="fa fa-bars"></i>
            <!--<span>-</span>
            <span>-</span>
            <span>-</span>-->
        </div>
        
        
    </header>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-06-23
      • 1970-01-01
      相关资源
      最近更新 更多