HTML CODES:
<header>
<nav>
<ul>
<li class="asmenu"><a href="#">Menu1 <i class="fa fa-caret-down"></i></a>
<ul class="submenu deactive">
<li><a href="#">Menu1-a</a></li>
<li><a href="#">Menu1-b</a></li>
<li><a href="#">Menu1-c</a></li>
<li><a href="#">Menu1-d</a></li>
</ul>
</li>
<li class="asmenu"><a href="#">Menu2 <i class="fa fa-caret-down"></i></a>
<ul class="submenu deactive">
<li><a href="#">Menu2-a</a></li>
<li><a href="#">Menu2-b</a></li>
<li><a href="#">Menu2-c</a></li>
<li><a href="#">Menu2-d</a></li>
</ul>
</li>
<li><a href="#">Menu3</a></li>
<li><a href="#">Menu4</a></li>
<li><a href="#">Menu5</a></li>
<li><a href="#">Menu6</a></li>
</ul>
</nav>
</header>
CSS CODES:
header nav ul li {
position: relative;
}
.submenu {
position: absolute;
width: 20rem;
height: 20rem;
background-color: darkgoldenrod;
margin-top: 2rem;
border-radius: 0rem 0rem 2.5rem 0rem;
}
.active {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-evenly;
}
.deactive {
display: none;
}
Question is how can i make submenu using these codes in Javascript . I want to use "toggle" but i didn't it. I tried to a few times but because of i have 2 submenu, i have error always. Firstly i tried to mouseover and mouseout but when i hover with mouse to menu2, it is opening menu1's submenu or anything opening.
try this
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<style>
.dropdown-submenu {
position: relative;
}
.dropdown-submenu .dropdown-menu {
top: 0;
left: 100%;
margin-top: -1px;
}
</style>
</head>
<body>
<div class="container">
<h2>Multi-Level Dropdowns</h2>
<p>In this example, we have created a .dropdown-submenu class for multi-level dropdowns (see style section above).</p>
<p>Note that we have added jQuery to open the multi-level dropdown on click (see script section below).</p>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown">Tutorials
<span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">HTML</a></li>
<li><a tabindex="-1" href="#">CSS</a></li>
<li class="dropdown-submenu">
<a class="test" tabindex="-1" href="#">New dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a tabindex="-1" href="#">2nd level dropdown</a></li>
<li><a tabindex="-1" href="#">2nd level dropdown</a></li>
<li class="dropdown-submenu">
<a class="test" href="#">Another dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">3rd level dropdown</a></li>
<li><a href="#">3rd level dropdown</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<script>
$(document).ready(function(){
$('.dropdown-submenu a.test').on("click", function(e){
$(this).next('ul').toggle();
e.stopPropagation();
e.preventDefault();
});
});
</script>
</body>
</html>