JSFiddle - React, Tailwind, and code Playground

by Daniel Lisik

HTML

<nav class="overflow">
    <ul> <a id="b1" href="../index.html">	<li>HOME	<div></div>	</li></a>
 <a id="b2" href="../tour.html">		<li>TOUR	<div></div>	</li></a>
 <a id="b3" href="../bio.html">		<li>BIO		<div></div>	</li></a>

    </ul>
</nav>

CSS

.overflow {
    overflow:hidden;
}
nav ul {
    list-style-type:none;
    margin:0;
    padding:0
}
nav {
    padding:12px;
    margin-top:10px;
    text-align:center;
    background-color: rgba(0, 0, 0, 0.8);
    padding-bottom:33px;
    height:74px;
}
nav a {
    height:95px;
    width:150px;
    display:block;
    float:left;
    margin: 0 3px;
    text-decoration:none;
    background-color:#acacac;
}
nav li {
    font-size:16px !important;
    background-color:#cb2026;
    display:block;
    float:left;
    padding: 65px 0 0 0px;
    width: 150px;
    height:30px;
    color:#acacac;
    position:relative;
    z-index:10;
    text-decoration:none;
    font-weight:normal;
    color:#333;
    -webkit-transition:color 1s ease;
    -moz-transition:color 1s ease;
    -o-transition:color 1s ease;
    transition:color 1s ease;
}
nav li div {
    position:absolute;
    top:0;
    left:0;
    float:left;
    width:150px;
    height:0;
    background-color: #cb2026;
    color:#e8cfa1;
    display:none;
    display:block;
    z-index:-10;
}

.white_color { color:#fff; }

JavaScript

$(document).ready(function () {
    $("nav a").mouseenter(function () {
        if ($(this).data('fading')) //EXIT IF WE ARE FADING
        return;
        $('div', this).stop(true, false).animate({
            'height': '45px'
        }, 100);
        $('li', this).addClass('white_color'); // THIS IS THE LINE I'M AFTER - I want the color to change smoothly, not instantly
        $('li', this).stop(true, false).animate({
            'padding-top': '15px'
        }, 200);
    }).mouseleave(function () {
        if ($(this).data('fading')) return;
        $('li', this).removeClass('white_color');
        $('div', this).stop(true, false).animate({
            'height': '0px'
        }, 300);

        $('li', this).stop(true, false).animate({
            'padding-top': '65px'
        }, 500);
    });

});