Olá pessoal. Estou tentando adicionar um efeito de transição utilizando a função slideToggle, mas quando faço isso e retorno na resolução do desktop, os itens do menu não aparecem mais.
Seguem abaixo as estruturas HTML, CSS e JS
<header>
<div class="inner">
<div class="toggle">
<div class="one"></div>
<div class="two"></div>
</div>
<div class="logo">Logo</div>
<nav class="menu">
<ul>
<li><a href="">Home</a></li>
<li><a href="">Sobre</a></li>
<li><a href="">Serviços</a></li>
<li><a href="">Contato</a></li>
</ul>
</nav>
</div>
</header>
body {
font-family: 'Montserrat', sans-serif;
font-weight: 300;
}
header {
background: #f7f7f7;
width: 100%;
box-shadow: 0 0 2px #999;
padding: 20px 0;
}
.inner {
width: 90%;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
}
nav li {
display: inline-block;
margin: 0 5px;
}
nav li:first-child, nav li:last-child {
margin: 0;
}
nav a {
text-decoration: none;
}
.toggle {
position: absolute;
left: 30px;
top: 3px;
width: 25px;
display: none;
cursor: pointer;
}
.toggle div {
height: 3px;
background: #333;
margin: 4px 0;
}
.two {
width: 20px;
}
@media (max-width: 768px) {
.toggle {
display: block;
}
.inner {
flex-direction: column;
}
.logo {
font-size: 1.4em
}
nav ul {
text-align: center;
margin-top: 30px;
display: none;
}
nav li {
display: block;
margin: 30px 0;
font-size: 1.3em
}
.active {
display: block;
}
}
$(document).ready(function() {
$('.toggle').click(function() {
$('.menu ul').slideToggle().toggleClass('active');
})
})