JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="/WeaponStore/trackbar/jQuery/trackbar.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/script.js"></script>
<title>Test - Menu</title>
</head>
<body>
<div class="menu-block">
<ul>
<li>
<a id ="first" href="#" alt="">Сделать ставку</a>
<ul class="category-section">
<li><a class="sublink" href="#" alt=""><img class="pointer-img" src="img/1.png" alt="1"/>Подкатегория</a>
<ul class="second-section">
<li><a href="#" alt="">Подкатегория 2-го уровня</a></li>
<li><a href="#" alt="">Подкатегория active</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" alt="">Результаты матчей</a>
<ul class="category-section">
<li><a class="sublink" href="#" alt=""><img class="pointer-img" src="img/1.png" alt="1"/>Подкатегория</a>
<ul class="second-section">
<li><a href="#" alt="">Подкатегория 2-го уровня</a></li>
<li><a href="#" alt="">Подкатегория active</a></li>
</ul>
</li>
<li><a class="sublink" href="#" alt=""><img class="pointer-img" src="img/1.png" alt="1"/>Подкатегория</a>
<ul class="second-section">
<li><a href="#" alt="">Подкатегория 2-го уровня</a></li>
<li><a href="#" alt="">Подкатегория active</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#" alt="">Правила</a>
<ul class="category-section">
<li><a class="sublink" href="#" alt=""><img class="pointer-img" src="img/1.png" alt="1"/>Подкатегория</a>
<ul...
CSS
a{
text-decoration: none;
}
.menu-block{
width:240px;
height: auto;
border:2px solid black;
border-radius:6px;
box-shadow:0px 1px 12px 3px rgba(0, 0, 0, 0.95);
margin: 5% 0 0 5%;
}
.menu-block>ul{
margin: 0;
padding: 0;
}
.menu-block >ul>li{
list-style-type: none;
border-bottom:2px solid black;
}
#first{
border-radius:3px 3px 0px 0px;
}
#last{
border-bottom:none;
overflow: hidden;
border-radius:0 0 3px 3px;
}
.menu-block >ul>li>a{
border-top:2px solid #757881;
font:16px Verdana;
color: #f4f6fa;
background: linear-gradient(to top, #3a3d47, #4d505a);
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
display: block;
padding-left: 15%;
padding-top: 10px;
padding-bottom: 13px;
}
.menu-block >ul>li>a:hover{
border-top:2px solid #a5ba47;
background: linear-gradient(to top, #58641c, #95a52c);
cursor:pointer;
}
.menu-block >ul>li>a.active{
background: linear-gradient(to top, #58641c, #95a52c);
border-top:2px solid #a5ba47;
box-shadow:inset 0px 1px 9px 1px rgba(50, 50, 50, 0.55);
}
.category-section{
background-color: #2d3239;
display: none;
}
.category-section>li{
list-style-type: none;
}
.category-section>li>a{
font:14px Verdana;
color:#b0ce13;
display: block;
margin-left:14px;
padding-top:7px;
}
.category-section>li>a:hover{
cursor:pointer;
}
.pointer-img{
position: absolute;
margin-left: -15px;
margin-top: 5px;
border: none;
display: block;
}
.second-section{
display: none;
margin-left: -10px;
margin-top: 4px;
}
.second-section >li{
list-style-type: disc;
color:#708409;
}
.second-section>li>a{
font:14px Verdana;
color:#708409;
display: block;
padding-bottom: 7px;
}
.second-section >li:hover{
color:#cfd0d1;
cursor:pointer;
}
.second-section>li:active{
color:#cfd0d1;
}
.second-section>li>a:hover{
color:#cfd0d1;
...
JavaScript
$(document).ready(function() {
$('.pointer-img').css('opacity', 0.1);
$('.menu-block >ul>li>a').click(function(){
if($(this).attr('class') != 'active'){
$('.menu-block >ul >li>ul').slideUp(400);
$(this).next().slideToggle(400);
$('.menu-block > ul > li >a').removeClass('active');
$(this).addClass('active');
$('.menu-block >ul >li>ul>li>a>img').stop().fadeTo('slow', 1);
}
else{
$('.menu-block > ul > li >a').removeClass('active');
$('.menu-block > ul > li >ul').slideUp(400);
$('.menu-block >ul >li>ul>li>a>img').stop().fadeTo('slow', 0,1);
}
});
(function(){
var showed = false;
$('.sublink').click(function(){
if(showed){
showed =false;
$(this).next().slideUp(400);
$(this).find('img').css('transform','rotate(0deg)');
}else{
showed = true;
$(this).next().slideDown(400);
$(this).find('img').css('transform','rotate(90deg)');
}
})
})();
});