Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2016, 08:15
Новичок на форуме
Отправить личное сообщение для OliLoi Посмотреть профиль Найти все сообщения от OliLoi
 
Регистрация: 08.11.2016
Сообщений: 1

Акардион меню из чекбоксов и списка, как сделать подсветку текущего элемента
Добрый день, помогите как сделать подстветку активного элеменат акардион меню?

Вот само меню:

<ul class="cd-accordion-menu animated">
		<li class="has-children">
			<input type="checkbox" name ="group-1" id="group-1"  >
			<label for="group-1">Иструкции для пользователя</label>                                      <!--- 1 PUNKT -->

      		<ul class="navi">
      			<li class="has-children">
      				<input type="checkbox" name ="sub-group-1" id="sub-group-1">
					<label  for="sub-group-1">Требования к <br>рабочему месту</label>

					<ul>
						<li><a href="reqsoft.php">Требования <br> к программному <br> обеспечению</a></li>
					
						
					</ul>
					<li class="has-children">
      				<input type="checkbox" name ="sub-group-2" id="sub-group-2"   >
					<label for="sub-group-2">Авторизация и<br>  ролевая модель</label>                        <!--- 2 PUNKT -->

					<ul class="navi">
						<li><a href="authandrole.php">Авторизация в системе</a></li>
						<li><a href="groupacc.php">Группы доступа и роли в системе</a></li>
					
						</ul>
						<li class="has-children">
			<input type="checkbox" name ="group-2" id="group-2" >
			<label for="group-2">Основные общие функции <br></label>                               <!--- 3 PUNKT -->

			<ul class="navi">
				<li><a href="general_function.php">Рабочее место <br>пользователя</a></li>
				<li><a href="workwithua.php">Работа с<br> представлениями</a></li>
					<li><a href="glsearch.php">Глобальный поиск <br>объектов в системе </a></li>
				</ul>
		</li>

      			</li>
			

		
		<li class="has-children">
			<input type="checkbox" name ="group-3" id="group-3">
			<label for="group-3">Работа <br>с обращениями</label>

			<ul>
				<li><a href="#">Инцидент</a></li>
				<li><a href="workwithint.php">Работа с представлениями</a></li>
			
		
			</ul>
		</li>




вот стили:


Код:
.cd-accordion-menu {
  width: 100%;
  margin-left:0px!important;
  margin-top:0px!important;
  margin-right:20px!important;
  max-width: 600px;
  background: #4d5158;
  margin: 4em auto;
  
  
}
.cd-accordion-menu ul {
  /* by default hide all sub menus */
   display: none;
   
   
   
}


.cd-accordion-menu input[type=checkbox]:checked + label + ul,
.cd-accordion-menu input[type=checkbox]:checked + label:nth-of-type(n) + ul {

    display: block;

}





.cd-accordion-menu li {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.cd-accordion-menu input[type=checkbox] {
  /* hide native checkbox */
  position: absolute;
  opacity: 0;
}
.cd-accordion-menu label, .cd-accordion-menu a {
  position: relative;
  display: block;
  padding: 0px 0px 0px 0px; /*18px 18px 18px 64px; */
  background: #4d5158; 
  box-shadow: inset 0 -1px #555960;
  color: #ffffff;
  font-size: 0.7rem !important; /*РАЗМЕР ШРИФТА МЕНЮ */
}




/* FON HOVER MENU #52565d */
.cd-accordion-menu label:hover,* .cd-accordion-menu a:hover {  
  background:#52565d;
}




/* _____________________*/
.cd-accordion-menu label::before, .cd-accordion-menu label::after, .cd-accordion-menu a::after {
  /* icons */
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.cd-accordion-menu label {
  cursor: pointer;
}
.cd-accordion-menu label::before, .cd-accordion-menu label::after {
  background-image: url(../img/cd-icons.svg);
  background-repeat: no-repeat;
}
.cd-accordion-menu label::before {
  /* arrow icon */
  left: 18px;
  background-position: 0 0;
  -webkit-transform: translateY(-50%) rotate(-90deg);
  -moz-transform: translateY(-50%) rotate(-90deg);
  -ms-transform: translateY(-50%) rotate(-90deg);
  -o-transform: translateY(-50%) rotate(-90deg);
  transform: translateY(-50%) rotate(-90deg);
}
.cd-accordion-menu label::after {
  /* folder icons */
  left: 41px;
  background-position: -16px 0;
}
.cd-accordion-menu a::after {
  /* image icon */
  left: 36px;
  background: url(../img/cd-icons.svg) no-repeat -48px 0;
}
.cd-accordion-menu input[type=checkbox]:checked + label::before {
  /* rotate arrow */
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}
.cd-accordion-menu input[type=checkbox]:checked + label::after {
  /* show open folder icon if item is checked */
  background-position: -32px 0;
}
.cd-accordion-menu input[type=checkbox]:checked + label + ul,
.cd-accordion-menu input[type=checkbox]:checked + label:nth-of-type(n) + ul {
  /* use label:nth-of-type(n) to fix a bug on safari (<= 8.0.8) with multiple adjacent-sibling selectors*/
  /* show children when item is checked */
  display: block;
}
.cd-accordion-menu ul label,
.cd-accordion-menu ul a {
  background: #35383d;
  box-shadow: inset 0 -1px #41444a;
  padding-left: 82px;
}
/*.no-touch .cd-accordion-menu ul label:hover, .no-touch
.cd-accordion-menu ul a:hover {
  background: red; /* FON menu ativ #3c3f45*/
  } 
  
  
 


 
  
  
.cd-accordion-menu > li:last-of-type > label,
.cd-accordion-menu > li:last-of-type > a,
.cd-accordion-menu > li > ul > li:last-of-type label,
.cd-accordion-menu > li > ul > li:last-of-type a {
  box-shadow: none;
}
.cd-accordion-menu ul label::before {
  left: 36px;
}
.cd-accordion-menu ul label::after,
.cd-accordion-menu ul a::after {
  left: 59px;
}
.cd-accordion-menu ul ul label,
.cd-accordion-menu ul ul a {
  padding-left: 100px;
}
.cd-accordion-menu ul ul label::before {
  left: 54px;
  
}
.cd-accordion-menu ul ul label::after,
.cd-accordion-menu ul ul a::after {
  left: 77px;
}
.cd-accordion-menu ul ul ul label,
.cd-accordion-menu ul ul ul a {
  padding-left: 118px;
}
.cd-accordion-menu ul ul ul label::before {
  left: 72px;
}
.cd-accordion-menu ul ul ul label::after,
.cd-accordion-menu ul ul ul a::after {
  left: 95px;
}
@media only screen and (min-width: 600px) {
  .cd-accordion-menu label, .cd-accordion-menu a {
    padding: 24px 24px 24px 82px;
    font-size: 1.9rem;
  }
  .cd-accordion-menu label::before {
    left: 24px;
  }
  .cd-accordion-menu label::after {
    left: 53px;
  }
  .cd-accordion-menu ul label,
  .cd-accordion-menu ul a {
    padding-left: 106px;
  }
  .cd-accordion-menu ul label::before {
    left: 48px;
  }
  .cd-accordion-menu ul label::after,
  .cd-accordion-menu ul a::after {
    left: 77px;
  }
  .cd-accordion-menu ul ul label,
  .cd-accordion-menu ul ul a {
    padding-left: 130px;
  }
  .cd-accordion-menu ul ul label::before {
    left: 72px;
  }
  .cd-accordion-menu ul ul label::after,
  .cd-accordion-menu ul ul a::after {
    left: 101px;
  }
  .cd-accordion-menu ul ul ul label,
  .cd-accordion-menu ul ul ul a {
    padding-left: 154px;
  }
  .cd-accordion-menu ul ul ul label::before {
    left: 96px;
  }
  .cd-accordion-menu ul ul ul label::after,
  .cd-accordion-menu ul ul ul a::after {
    left: 125px;
  }
}
.cd-accordion-menu.animated label::before {
  /* this class is used if you're using jquery to animate the accordion */
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  transition: transform 0.3s;
}
Я пытался сам разобраться, но как-то не вышло, обычные решения не помогают:

Состоит из чекбоксов: т.е. когда чекед=тру блок меню развернут, когда фалс-свернут.

ну с помощью jq не проблема установить чекед, проблема как дать скрипту знать, на какой странице находится пользователь?

Пробовал вот так:

$('#group-1').attr('checked','checked');
$('#sub-group-1').attr('checked','checked');


впринципе все работает то, что нужно
только вот было бы хорошо, если бы вместо #group1 и #sub-group-1 сояли переменный. Как передать переменные в jq между страницами?
например на index.php есть перменная в jq page1="group1" и переменная point1="sub-group1"
и так на каждой странице переменной присваивается значение которое является idшкой инпута чекбокса, эти же две переменные стоят в jq скрипте, и хранят значение в соответсвии с подгруженой страницей,
дак вот, наверное оч дебильный вопрос но, как в jq объявить переменные и передать их между страницами?


если мой вариант дебильный, подскажите пожалуйста, как мне сделать так, что -бы при переходе по меню(по страницам), меню не сворачивалось,и подсвечивался активный пункт
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sortable, два связанных списка. Как один из них сделать неизменяемым? kvecxjo jQuery 1 30.03.2010 03:15
Как сделать чтобы выпадающее меню убиралось не сразу adelante jQuery 3 02.03.2010 10:13
Подскажите как сделать меню на CSS если: greatilya (X)HTML/CSS 10 18.10.2009 20:26
Как "переключать" картинки в меню навигации? KirTer Элементы интерфейса 1 22.06.2009 11:49
Помогите сделать такое меню(( Lilith Я не знаю javascript 2 02.06.2009 02:31