JSFiddle - React, Tailwind, and code Playground

HTML

<nav>
    <div class="menu-item alpha">
        <h4><a href="#">Home</a></h4>
        <p>
            This is a Design Shack demo showcasing a simple animated vertical navigation menu. <a href="http://designshack.net/articles/css/verticalaccordionav/">Click here</a> to return to the tutorial.
        </p>
    </div>
    <div class="menu-item">
        <h4><a href="#">Portfolio</a></h4>
        <ul id="asd">
            <li><a href="#">Web</a></li>
            <li><a href="#">Print</a></li>
            <li><a href="#">Other</a></li>
        </ul>
    </div>
    <div class="menu-item">
        <h4><a href="#">About</a></h4>
        <ul>
            <li><a href="#">History</a></li>
            <li><a href="#">Meet The Owners</a></li>
            <li><a href="#">Awards</a></li>
        </ul>
    </div>
    <div class="menu-item">
        <h4><a href="#">Contact</a></h4>
        <ul>
            <li><a href="#">Phone</a></li>
            <li><a href="#">Email</a></li>
            <li><a href="#">Location</a></li>
            <ul> <li><a href="#">Phone</a></li>
            <li><a href="#">Email</a></li>
            <li><a href="#">Location</a></li>
        </ul>
        </ul>
    </div>
</nav>

CSS

nav {
  font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
  font-size: 13px;
  line-height: 1.5;
  margin: 50px auto;
  width: 200px;
  -webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
     -moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
          box-shadow: 2px 2px 5px rgba(0,0,0,0.2);
}

.menu-item {
  background: #fff;
  width: 200px; 
}

/*Menu Header Styles*/
.menu-item h4 {
  border-bottom: 1px solid rgba(0,0,0,0.3);
  border-top: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  padding: 7px 12px;
  margin: 0 !important;
  
  /*Gradient*/
  background: #a90329; /* Old browsers */
  background: -moz-linear-gradient(top, #a90329 0%, #8f0222 44%, #6d0019 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#a90329), color-stop(44%,#8f0222), color-stop(100%,#6d0019)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* IE10+ */
  background: linear-gradient(top, #a90329 0%,#8f0222 44%,#6d0019 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#a90329', endColorstr='#6d0019',GradientType=0 ); /* IE6-9 */
}

.menu-item.active h4 {  
  background: #cc002c; /* Old browsers */
  background: -moz-linear-gradient(top,  #cc002c 0%, #6d0019 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#cc002c), color-stop(100%,#6d0019)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #cc002c 0%,#6d0019 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #cc002c 0%,#6d0019 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #cc002c 0%,#6d0019 100%); /* IE10+ */
  background: linear-gradient(top,  #cc002c...

JavaScript

$(function(){
    $('.menu-item').click(function(){
        var uls = $(this).find("ul");
        $('.menu-item').removeClass("active");
        $(this).addClass("active");
        $('.menu-item').find("ul").slideUp(200, function(){
            uls.slideDown(500);
        });
        
    });
});