JSFiddle - React, Tailwind, and code Playground
by pauldwaite
HTML
<div class="menu">
<ul>
<li class=""><a href="#">Home</a></li>
<li class="parent"><a href="#">Parent One</a>
<ul class="child">
<li><a href="#">Parent One Link</a> </li>
<li><a href="#">Parent One Link</a> </li>
</ul>
</li>
<li class="parent"><a href="#">Parent Two</a>
<ul class="child">
<li><a href="#">Parent Two Link</a> </li>
<li><a href="#">Parent Two Link</a> </li>
</ul>
</li>
</ul>
</div>
<div>
<h2>My content</h2>
<p>If the user doesn't select another li.parent, the ul.child should stay open wherever I put my mouse!</p>
</div>
CSS
.menu {
height:30px;
position:relative;
margin:0;
font-size:11px;
margin-bottom:30px;
background:#fff;
z-index:100;
}
.menu ul {
padding:0;
margin:0;
list-style-type: none;
}
.menu ul li {
float:left;
border-left:1px solid #fff;
width:auto; /*106px*/
font-size:14px;
text-shadow:1px 1px 1px #000;
white-space:nowrap;
}
.menu ul li a, .menu ul li a:visited {
display:block;
width:auto; /*101*/
padding:0 20px;
text-decoration:none;
/*padding:0 0 0 5px;*/
height:30px;
line-height:30px;
color:#fff;
background:#2b51a0;
position:relative;
}
.menu ul li ul {
visibility:hidden;
position:absolute;
top:30px;
left:0;
}
.menu ul li:hover ul, .menu ul li a:hover ul, .menu ul li.active ul, .menu ul li.active a:hover ul {
visibility:visible;
width:100%;
background:#5F9CDB;
color:#fff;
border-radius:0 5px 5px 0;
}
/* demo */
#reset { clear:both;margin-top:10px;cursor:pointer;color:green;}
JavaScript
$(document).ready(
function() {
$('ul li.parent a').mouseenter(
function(){
$('ul.child').hide();
$(this).closest('li').find('ul.child').fadeIn('slow');
}
);
});