JSFiddle - React, Tailwind, and code Playground
by anay1231
HTML
<div class="mobile-nav">
<nav id="topNav1">
<span class="top-nav-mobile">Nav</span>
<div class="toggle-nav-content">
<div class="nav-container-mobile">
<ul id="nav-mobile" class="nav-mobile">
<li class="level0">
<a href="#" class="level-top"><span>Car Nitrous Kits</span></a>
<ul class="level0">
<li class="level1">
<a href="#"><span>Wet Car Nitrous Kits</span></a>
<ul class="level1">
<li class="level2">
<a href="#"><span>EFI Kits</span></a>
</li>
<li class="level2">
<a href="#"><span>Carb'd Kits</span></a>
</li>
<li class="level2"><a href="#"><span>Black Widow Nitrous Plate Systems</span></a></li>
</ul>
</li>
<li class="level1">
<a href="#"><span>Dry Car Nitrous Kits</span></a>
</li>
<li class="level1">
<a href="#"><span>Car Upgrade Kits</span></a>
</li>
<li class="level1">
<a href="#"><span>Nitrous Demo Systems</span></a>
</li>
<li class="level1">
<a href="#"><span>Competition Car Systems</span></a>
</li>
</ul>
</li>
<li class="level0">
<a href="#" class="level-top"><span>Bike Nitrous</span></a>
...
CSS
.mobile-nav {
display: block;
padding: 0;
box-sizing: border-box;
background:#000;
}
.mobile-nav #topNav1 {
width: 100%;
background: rgba(255, 255, 255, .2);
clear: both;
margin-bottom: 15px;
}
.mobile-nav .top-nav-mobile {
padding: 8px 10px;
text-align: left;
display: block;
color: #ff0;
font-size: 18px;
text-transform: capitalize;
font-weight: bold;
}
.mobile-nav .toggle-nav-content {
display: none;
}
.mobile-nav #nav-mobile {
width: 100%;
margin: 0;
float: none;
box-sizing: border-box;
padding: 0;
}
.mobile-nav #nav-mobile li {
text-align: left;
position: relative;
list-style: none;
width: 100%;
display: block;
margin: 0;
box-sizing: border-box;
border-bottom: 1px solid rgba(238, 238, 238, .2);
}
.mobile-nav #nav-mobile li:first-child{
border-top: 1px solid rgba(238, 238, 238, .2);
}
.mobile-nav #nav-mobile li:last-child{
border-bottom: none;
}
.mobile-nav nav li a {
display: block;
text-decoration: none;
width: 100%;
box-sizing: border-box;
color: #fff;
padding: 7px 15px;
}
.mobile-nav nav li a {
display: block;
width: 100%;
box-sizing: border-box;
color: #fff;
padding: 7px 15px;
}
.mobile-nav #nav-mobile ul {
left: 0;
padding: 0;
margin: 0;
top: 100%;
width: 100%;
border: none;
position: inherit;
float: none;
background: transparent;
}
.mobile-nav .toggle-nav-content .nav-container-mobile ul li ul {
display: none;
}
.mobile-nav #nav-mobile span {
border-right: none;
font-size: 14px;
color: #fff;
}
.mobile-nav #nav-mobile .sub-menu>a:after {
color: #fff;
content: '+';
display: block;
font-size: 16px;
text-align: center;
border-left: 1px solid #555;
position: absolute;
cursor: pointer;
right: 0;
top: 0;
height: 32px;
line-height: 32px;
width: 35px;
padding: 0 !important;
background:...
JavaScript
jQuery(document).ready(function() {
jQuery('.mobile-nav #topNav1 .top-nav-mobile').click(function(){
jQuery(this).toggleClass('open');
jQuery(this).next('.toggle-nav-content').slideToggle();
});
jQuery(".toggle-nav-content .nav-container-mobile ul li").has("ul").addClass("sub-menu");
jQuery(".mobile-nav #nav-mobile .sub-menu").click(function(){
jQuery(this).siblings().find("ul").hide();
jQuery(this).find("ul").toggle();
jQuery(this).siblings().removeClass('open');
jQuery(this).toggleClass('open');
});
});