JSFiddle - React, Tailwind, and code Playground

HTML

<div id="css" >MENU
 <div id="menu">
<div id="cssmenu">
<ul>
   <li><a href='index.html'>HOME</a></li>
         <li class='has-sub'><a href='#'>TWENTY FIFTEEN</a>
            <ul>
               <li><a href='painting-2015.html'>PAINTING</a></li>
               <li><a href='#'>SCULPTURE</a></li>
            </ul>
         </li>
   <li><a href='#'>ABOUT</a></li>
   <li><a href='#'>CONTACT</a></li>
</ul>
</div>
</div>

CSS

#menu{
    display:none;
}

#cssmenu {
	float: left;
	clear: left;
    
}

#cssmenu,
#cssmenu ul,
#cssmenu ul li,
#cssmenu ul li a {	
  margin: 0;
  padding: 0;
  border: 0;
  list-style: none;
  line-height: 1;
  display: block;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

#cssmenu {
  width: 220px;
  font-family: Open Sans, sans-serif;
  color: #000;
}

#cssmenu ul ul {
  display: none;
}

#cssmenu > ul > li.active > ul {
  display: block;
}

.align-right {
  float: right;
}

#cssmenu > ul > li > a {
  padding: 16px 22px;
  cursor: pointer;
  z-index: 2;
  font-size: 12px;
  text-decoration: none;
  color: #000;
  background: #fff;
  -webkit-transition: color .2s ease;
  -o-transition: color .2s ease;
  transition: color .2s ease;
}

#cssmenu > ul > li > a:hover {
  color: #ccc;
}

#cssmenu ul > li.has-sub > a:after {
  position: absolute;
  right: 26px;
  top: 19px;
  z-index: 5;
  display: block;
  height: 10px;
  width: 2px;
  background: #000;
  content: "";
  -webkit-transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -ms-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

#cssmenu ul > li.has-sub > a:before {
  position: absolute;
  right: 22px;
  top: 23px;
  display: block;
  width: 10px;
  height: 2px;
  background: #000;
  content: "";
  -webkit-transition: all 0.1s ease-out;
  -moz-transition: all 0.1s ease-out;
  -ms-transition: all 0.1s ease-out;
  -o-transition: all 0.1s ease-out;
  transition: all 0.1s ease-out;
}

#cssmenu ul > li.has-sub.open > a:after,
#cssmenu ul > li.has-sub.open > a:before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#cssmenu ul ul li a {
  padding: 14px 22px;
  cursor: pointer;
  z-index: 2;
  font-size: 12px;
  text-decoration: none;
  color: #000;
  background:...

JavaScript

(function($){
$(document).ready(function(){

var drop= function(){
     var i=0;  
     $('#css').click(function(){
       if(i==0){
         $('#menu').slideDown(200);
          i=1;
       }
         else{
           $('#menu').slideUp(200);  
             i=0;
        }
     });
}();
  
$('#cssmenu li.active').addClass('open').children('ul').show();
	$('#cssmenu li.has-sub>a').on('click', function(){
		$(this).removeAttr('href');
		var element = $(this).parent('li');
		if (element.hasClass('open')) {
			element.removeClass('open');
			element.find('li').removeClass('open');
			element.find('ul').slideUp(200);
		}
		else {
			element.addClass('open');
			element.children('ul').slideDown(200);
			element.siblings('li').children('ul').slideUp(200);
			element.siblings('li').removeClass('open');
			element.siblings('li').find('li').removeClass('open');
			element.siblings('li').find('ul').slideUp(200);
		}
	});

});
})(jQuery);