Я пытаюсь создать строку раскрывающегося меню в 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');
}):
});
Для некоторых причина, по которой это не работает, и я не знаю, почему?