Помощь с меню
Добрый вечер.В прошлой теме мне помогли с кодом меню.Спасибо большое!Я его адаптировал под свой сайт,прописал стилей.
Теперь мне нужно,чтобы когда выбираешь одну из тем в блоке select rubricks-up, менялся контент ниже,согласно выбранной теме,то есть нужно,чтобы информация из подготовленных блоков div выводилась в класс main-rub,и чтобы все стили сохранялись. Код вот тут -> https://codepen.io/SolomonRei/pen/mQKmrp Спасибо! |
SolomonRei,
а здесь разместить код? |
SolomonRei,
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.wrap-rubrics {
position: absolute;
width: 310px;
height: 250px;
}
.rubricks-up {
width: 310px;
height: 60px;
border-radius: 5px;
background-color: #0d0b0a;
border: 1px solid #2f2f2f;
}
.rubricks-menu {
width: 292px;
height: 150px;
margin: 0px 0 0 8px;
border: 2px solid red;
background-color: #141110;
border: 1px solid #25201f;
border-top: none;
}
.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;
}
.sub-menu-li {
list-style-type: none;
margin: 0 0 0 45px;
color: #e9e8e8;
font-size: 16px;
}
.sub-menu-li a {
color: #e9e8e8;
font-size: 16px;
text-decoration: none;
}
.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{
color: #FFFFFF;
display: none;
}
.main-rub .rub-menu{
display: block;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(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) $(".select .list-select").slideUp();
})
});
</script>
</head>
<body>
<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>
<!-- Блок один,который относится к теме 1 -->
<div class = "rub-menu">
1 блок
</div>
<!-- Блок второй,который относится к теме 2 -->
<div class = "rub-menu">
2 блок
</div>
<!-- Блок второй,который относится к теме 3 -->
<div class = "rub-menu">
3 блок
</div>
</div>
</div>
</body>
</html>
|
Спасибо большое!
|
Опять проблема.не силен в js.
при клике по блоку <div class = "sub-menu-title">GTA</div> меню должно скрываться и при повторном скрываться. Я попробовал вот так написать,но тогда все элементы скрываются, подскажите как скрыть один список.Я пробовал добавлять родительский блок,и через функцию children(),но тоже почему-то скрываются два
$('.sub-menu-title').on('click', function() {
$(this.parentNode).find('.sub-menu-ul').fadeToggle(800);
});
<div class = "rub-menu"> <div class = "sub-menu"> <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 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 class = "rub-menu"> <div class = "sub-menu"> <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> |
:)
Сам уже решил.Спасибо! |
| Часовой пояс GMT +3, время: 00:48. |