I am trying to create a responsive menu. On the mobile version, I want a ul to display 4 list items. On resize to desktop, 2 list items get appended to a previously unused nested ul. This works fine. However, if I resize back to mobile size, instead of appending the 2 list items back to the top level ul, it seems to create a bunch of lis.
$(document).ready(function() {
$('.has-child').click(function() {
$(this).toggleClass('clicked');
$('.has-child ul').toggleClass('clicked');
});
});
$(window).on('resize', function() {
if ($(window).width() >= 800) {
$('.nav-container').detach().appendTo('.header-content');
$('.has-parent').appendTo('.has-child ul');
} else {
$('.nav-container').detach().appendTo('.site');
$('.has-parent').appendTo('.site-navigation ul');
}
}).trigger('resize');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="nav-container">
<nav class="site-navigation">
<ul>
<li><a href="pageone.php">Home</a>
</li>
<li id="has-child" class="has-child"><a href="#"><i class="ion-person"></i></a>
<ul>
</ul>
</li>
<li class="has-parent"><a href="account.php">Account</a>
</li>
<li class="has-parent"><a href="logout.php">Logout</a>
</li>
<li><a href="logout.php">Login</a>
</li>
<li><a href="register.php">Register</a>
</li>
</ul>
</nav>
</div>
Thanks in advance!