Помощь с меню
Добрый вечер.В прошлой теме мне помогли с кодом меню.Спасибо большое!Я его адаптировал под свой сайт,прописал стилей.
Теперь мне нужно,чтобы когда выбираешь одну из тем в блоке 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, время: 10:29. |