Использование JQuery для создания активных функций в HTML - PullRequest
1 голос
/ 01 апреля 2020

Я пытаюсь создать строку раскрывающегося меню в HTML, используя jQuery. Прямо сейчас .menu-toggle показывает только на экранах менее 750 пикселей. заголовок ul установлен в 0px со скрытым переполнением. Я пытаюсь заставить класс .nav показывать при нажатии на значок .menu-toggle. Когда нажимается .menu-toggle, он присоединяет класс .show к заголовку ul, давая ему максимальную высоту 100em.

HTML КОД:

<!DOCTYPE html>
<html lang = "en">


    <head>
        <meta charset = "UTF-8">
        <meta name = "viewport" content = "vidth = device-width, initial-scale=1.0">
        <meta http-equiv = "X-UA-Compatable" content = "ie=edge">

        <!-- Font Awesome Kit-->
        <script src="https://kit.fontawesome.com/b498ff7f76.js" crossorigin="anonymous"></script>

        <!-- Google Fonts -->
        <link href="https://fonts.googleapis.com/css?family=Candal|Lora&display=swap" rel="stylesheet">

        <title>Blog</title>
        <!-- Costom Styling -->

        <link rel = "stylesheet" href = "css/style.css" /> 
    </head>

    <body>
        <header>
            <div class = "logo">
                <h1 class = "logo-text"><span>Big</span>Questions</h1>
            </div>
            <i class = "fa fa-bars menu-toggle"></i>
            <ul class = "nav">
                <li><a href ="#">Home</a></li>
                <li><a href ="#">About</a></li>
                <li><a href ="#">Services</a></li>
                <!--<li><a href ="#">Sign Up</a></li>
                <li><a href ="#">Login</a></li>-->
                <li>
                    <a href ="#">
                        <i class = "fa fa-user"></i>
                        Tyler Vis
                        <i class = "fa fa-chevron-down"></i>
                    </a>
                    <ul>
                        <li><a href ="#">Dashboard</a></li>
                        <li><a href ="#" class = "logout">Logout</a></li>
                    </ul>
                </li>

            </ul>
        </header>

        <!-- JQuery -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

        <!-- Custom Script -->
        <script src = "js/scripts.js"></script>

    </body>

</html>

CSS КОД:

*{
    box-sizing: border-box
}

body {
    padding: 0px;
    margin: 0px;
    background: #f6f6f6;
    font-family: 'Lora', serif;
}

header {
    background: #008489;
    height: 66px;
}

header * {
    color: white;
}

header .logo{
    float: left;
    margin-left: 2em;
    height: inherit;
    font-family: 'Candal', serif;

}

header .logo-text{
    margin: 10px;
}

header .logo-text span{
    color: #05f7ff;
}

header ul{
    float: right;
    padding: 0px;
    margin: 0px;
    list-style: none;
}

header ul li{
    float: left;
    position: relative;
}

header ul li ul{
    position: absolute;
    right: 0px;
    top: 66px;
    width: 150px;
    display: none;
}

header ul li:hover ul{
    display: block; 
}

header ul li ul li{
    width: 100%;
}

header ul li ul li a{
    padding: 10px;
    background: white;
    color: #444;
}

header ul li ul li a.logout{
    color: red;
}

header ul li ul li a:hover{
    color: #d5d6d6;
}

header ul li a{
    display: block;
    padding: 21px;
    font-size: 1.1em;
    text-decoration: none;
}

header ul li a:hover{
    background: #006669;
    transition: 0.5s;
}

header .menu-toggle{
    display: none;
}

header ul li a i.fa-chevron-down{
    font-size: 0.8em;
}






/* Media Queries */ 

@media only screen and (max-width: 750px) {
    header{
        position: relative;
    }

    header ul{
        width: 100%;
        background: #0E94A0;
        max-height: 0px;
        overflow: hidden;
    }

    .showing{
         max-height: 100 em;
    }

    header ul li{
        width: 100%;
    }

    header ul li ul{
        width: 100%;
        display: block;
        position: static;
    }
    header ul li ul li a{
        padding: 10px;
        background: #0E94A0;
        color: white;
        padding-left: 50px;
    }

    header ul li ul li a.logout{
        color: red;
    }


    header .menu-toggle{
        display: block;
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 2em;
    }

    header .logo{
        margin-left: .8em;
    }

    header .logo-text{
        font-size: 1.8em;
    }
}

JQuery КОД:

$(document).ready(function() {
    $('.menu-toggle').on('click', function() {
        $('.nav').toggleClass('showing'); 
    }):
});

Для некоторых причина, по которой это не работает, и я не знаю, почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...