I have a menu with sub menu(vertical). My first li
is active with the sub menu. My problem is when I hover in the other li
I have the sub menu added in my last one.
What I need is:
on class
this is the link of jsFiddle
http://jsfiddle.net/bymb6kvm/2/
this my code :
<nav>
<div id="menuu">
<ul class="niveau1">
<li><a id="lrf" class="sousmenu" href="#">Test 1</a>
<ul id="lrfH" class="niveau2 on">
<li><a href="#">ss test 1</a></li>
<li><a href="#">ss test 2</a></li>
</ul>
</li>
<li><a id="cm" class="sousmenu" href="#">Test 2</a>
<ul id="cmH" class="niveau2">
<li><a href="#">ss test 1</a></li>
<li><a href="#">ss test 2</a></li>
</ul>
</li>
<li><a id="dj" class="sousmenu" href="#">Test 3</a>
<ul id="djH" class="niveau2">
<li><a href="#">ss test 1</a></li>
<li><a href="#">ss test 2</a></li>
</ul>
</li>
</ul>
</div>
</nav>
CSS Code
#menuu ul{
margin:0;
padding:0;
padding-left:97px;
line-height:30px;
}
#menuu li{
float: left;
list-style: outside none none;
}
.sousmenu{
color: #000 !important;
text-decoration:none;
width:150px;
height:30px;
display:block;
text-align:center;
border:1px solid #000;
}
.niveau2{
margin-left: -50px !important;
}
.niveau2 a{
padding-left:20px !important;
text-decoration:none;
color:red ;
}
.sousmenu:hover{
color: #fff !important;
background-color: #ddd;
border-bottom-color: #000 !important;
}
#menuu ul ul{
position:absolute;
visibility:hidden;
padding-left:0px;
}
#menuu ul ul li:hover a{
color:#000;
}
#menuu ul ul ul{
left:152px;
top:-0.5px;
display:none;
}
#menuu ul li:hover ul{
visibility:visible;
}
.niveau2.on{
visibility:visible !important;
}
JS Code
$(document).ready(function(e){
$('.sousmenu').hover(function(e){
e.preventDefault();
var getID=$(this).attr('id');
$("#"+getID+"H").css("visibility","visible");
$(".on").css("visibility","hidden");
});
});
Try this:
$(document).ready(function(e) { $('.sousmenu').hover(function(e) { e.preventDefault(); var getID = $(this).attr('id'); $(".niveau2").hide(); $("#" + getID + "H").show(); }); });
#menuu ul { margin: 0; padding: 0; padding-left: 97px; line-height: 30px; } #menuu li { float: left; list-style: outside none none; } .sousmenu { color: #000 !important; text-decoration: none; width: 150px; height: 30px; display: block; text-align: center; border: 1px solid #000; } .niveau2 { margin-left: -50px !important; } .niveau2 a { padding-left: 20px !important; text-decoration: none; color: red; } .sousmenu:hover { color: #fff !important; background-color: #ddd; border-bottom-color: #000 !important; } #menuu ul ul { position: absolute; visibility: hidden; padding-left: 0px; } #menuu ul ul li:hover a { color: #000; } #menuu ul ul ul { left: 152px; top: -0.5px; display: none; } #menuu ul li:hover ul { visibility: visible; } .niveau2.on { visibility: visible !important; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <nav> <div id="menuu"> <ul class="niveau1"> <li><a id="lrf" class="sousmenu" href="#">Test 1</a> <ul id="lrfH" class="niveau2 on"> <li><a href="#">ss test 1</a></li> <li><a href="#">ss test 2</a></li> </ul> </li> <li><a id="cm" class="sousmenu" href="#">Test 2</a> <ul id="cmH" class="niveau2"> <li><a href="#">ss test 1</a></li> <li><a href="#">ss test 2</a></li> </ul> </li> <li><a id="dj" class="sousmenu" href="#">Test 3</a> <ul id="djH" class="niveau2"> <li><a href="#">ss test 1</a></li> <li><a href="#">ss test 2</a></li> </ul> </li> </ul> </div> </nav>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.