Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.11.2018, 18:27
Аспирант
Отправить личное сообщение для SolomonRei Посмотреть профиль Найти все сообщения от SolomonRei
 
Регистрация: 05.04.2018
Сообщений: 72

меню не работает
Добрый день.наверное это уже третья тема по данному меня на этом форуме,но так получилось(
<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
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь с меню. Keche jQuery 1 28.09.2017 14:01
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 14:24
Помощь в дополнение выпадающего меню. denisf jQuery 1 09.04.2015 07:54
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 19:59
Вылеление активных пунков меню. Нужна помощь ! panictmn Элементы интерфейса 27 22.01.2014 10:18