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');  
            }
        );
});