Добрый день.наверное это уже третья тема по данному меня на этом форуме,но так получилось(
<div class = "wrap-rubrics">
<div class="select rubricks-up">
<div class = "rubriks-ico"></div>
<div class = "rubricks-li-ico"></div>
<div class="text-select rubricks-li">Главная рубрика "Файлы"</div>
<div class="list-select">
<div class="a-select li-text-position-1 rubricks-li">Главная рубрика "Файлы"</div>
<div class="a-select li-text-position-2 rubricks-li">Второй</div>
<div class="a-select li-text-position-3 rubricks-li">Третий</div>
</div>
</div>
<div class = "rubricks-menu">
<div class = "main-rub"></div>
<div class = "rub-menu">
<div class = "sub-menu">
<div class = "menu-subber">
<div class = "before-ico"></div>
<div class = "sub-menu-title">GTA</div>
<ul class = "sub-menu-ul current-class">
<li class = "sub-menu-li"><a href = "#1">Машины</a></li>
<li class = "sub-menu-li"><a href = "#2">Скрипты</a></li>
<li class = "sub-menu-li"><a href = "#3">Мультиплеер</a></li>
</ul>
</div>
<div class = "menu-subber">
<div class = "before-ico"></div>
<div class = "sub-menu-title">GTA</div>
<ul class = "sub-menu-ul">
<li class = "sub-menu-li"><a href = "#1">Машины</a></li>
<li class = "sub-menu-li"><a href = "#2">Скрипты</a></li>
<li class = "sub-menu-li"><a href = "#3">Мультиплеер</a></li>
</ul>
</div>
</div>
</div>
<div class = "rub-menu">
<div class = "sub-menu">
<div class = "menu-subber">
<div class = "before-ico"></div>
<div class = "sub-menu-title two">Что-то</div>
<ul class = "sub-menu-ul">
<li class = "sub-menu-li"><a href = "#1">Что-то</a></li>
<li class = "sub-menu-li"><a href = "#2">Что-то</a></li>
<li class = "sub-menu-li"><a href = "#3">Что-то</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
Код:
|
.wrap-rubrics {
position: absolute;
width: 310px;
height: 150px;
}
.rubricks-up {
width: 310px;
height: 60px;
border-radius: 5px;
background-color: #0d0b0a;
border: 1px solid #2f2f2f;
}
.rubricks-menu {
width: 292px;
min-height: 50px;
margin: 0px 0 0 8px;
border: 2px solid red;
background-color: #141110;
border: 1px solid #25201f;
border-top: none;
padding: 0 0 10px 0;
}
.rubricks-li {
color: #ffffff;
font-weight: bold;
font-size: 15px;
font-family: Albertus;
margin: 18px 0 0 75px;
float: left;
cursor: pointer;
}
.li-text-position-1 {
position: absolute;
margin: 0px 0 0 75px;
}
.li-text-2 {
position: relative;
color: #f5a43c;
float: right;
left: 5px;
}
.li-text-position-2 {
position: absolute;
margin: 25px 0 0 75px;
}
.li-text-position-3 {
position: absolute;
margin: 50px 0 0 75px;
}
.li-text-position-1:hover, .li-text-position-2:hover, .li-text-position-3:hover {
color: red;
}
.rubriks-ico {
position: absolute;
background: url('../images/rubrics-li-ico.png') center no-repeat;
width: 45px;
height: 41px;
margin: 8px 0 0 8px;
}
.rubricks-li-ico {
position: absolute;
background: url('../images/rubrics-li.png') center no-repeat;
width: 15px;
height: 18px;
margin: 18px 0 0 275px;
cursor: pointer;
}
.list-select{
display:none;
}
.list-select:hover .a-select.active{
background-color: transparent;
}
.a-select.active{
border: 1px dashed #000000;
}
.list-select {
position: absolute;
width: 100%;
top: 51px;
z-index: 5;
background-color: #0d0b0a;
}
.before-ico {
position: relative;
width: 9px;
height: 6px;
background: url('../images/sub-menu-li.png');
left: 22px;
top: 19px;
}
.sub-menu-title {
position: relative;
left: 32px;
top: 5px;
color: #ee9f3a;
font-family: Albertus;
font-weight: bold;
font-size: 15px;
cursor: pointer;
}
.sub-menu-ul {
border-bottom: 1px solid #322e2d;
margin: 0px 20px 0px 20px;
padding-bottom: 15px;
}
.sub-menu-ul:not(.current-class){
display: none;
}
.sub-menu-li {
list-style-type: none;
margin: 0 0 0 45px;
}
.sub-menu-li a {
color: #e9e8e8;
font-size: 16px;
}
.sub-menu-li a:hover {
color: red;
}
.sub-menu-li:first-child {
margin-top: 20px;
}
.sub-menu-li:before {
content: url('../images/sub-menu-li.png');
margin: 0 3px 0 0;
}
.rub-menu{
display: none;
}
.main-rub .rub-menu{
display: block;
} |
$(function() {
var block = $(".rub-menu");
$(".main-rub").html("").append(block[0]);
$(".select").on("click", function(event) {
var el = $(event.target),
list = $(".list-select", this),
a = $(".a-select", this).not(el),
txt = $(".text-select", this);
el.is(".a-select") && txt.text(el.addClass("active").text()) && a.removeClass("active");
list.slideToggle();
if(el.is(".a-select")) {
var index = $(".a-select", this).index(el);
$(".main-rub").html("").append(block[index])
}
var height = $('.rubricks-up').css('height');
if(height == '60px') $('.rubricks-up').css('height', '150px');
else $('.rubricks-up').css('height', '60px');
});
$(document).click(function(event) {
if (!$(event.target).closest(".select").length) {
$('.rubricks-up').css('height', '60px');
$(".select .list-select").slideUp();
}
})
});
//Вот тут проблема
$('.sub-menu-title').on('click', function() {
$(this.parentNode).find('.sub-menu-ul').fadeToggle(800);
});
Проблема состоит в следующем,меню отлично работает,дополнительные пункты скрываются и закрываются,но если перейти в другую рубрику,например во Вторую,а потом обратно на главную рубрик,то подпункты меню отказываются скрываться.Я не понимаю в чем проблема
код который отвечает за скрытие подпунктов
$('.sub-menu-title').on('click', function() {
$(this.parentNode).find('.sub-menu-ul').fadeToggle(800);
});
Исходники также есть тут
https://codepen.io/SolomonRei/pen/mQKmrp