Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   активный пункт меню (https://javascript.ru/forum/dom-window/65032-aktivnyjj-punkt-menyu.html)

7vano7 21.09.2016 10:00

активный пункт меню
 
помогите чайнику!
Добрый день. никак не получается сделать отдельным цветом активный пункт меню. Читал статьи на форуме - не помогло - где то ошибка... подскажите пожалуйста!
вывод сайдбара делаю так
$link = PATH."/products/index?";
foreach ($param as $list) {
$res .= "<li><a href=".$link.$list['link'].' onclick="this'.'.'.'className+='."'current'".';'.
'">'.$list['name']."</a></li>";
}

стиль
.sb {
margin: 0;
padding: 0;
width: 100%;
list-style-type: none;
}

.sb li {
display:block;
width: 100%;
/*border-right: 1px solid grey;*/
background-color: edf1f4;
font-size: 1.1em;
color: #6C3262;
}

.sb li a {
text-decoration: none;
padding: 2% 10%;
width:100%;
color: #89628e;
text-align: justify;
font-weight: bold;
}



.sb li a:hover {
font-size: 1.2em;
color: #c111d8;
}



.sb li a:active {
color: #e154f7;
font-size: 1.2em;
}

sb li a.current {
color: #red;
}

при нажатии класс current добавляется и тутже пропадает... где ошибка?

рони 21.09.2016 10:33

7vano7,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 21.09.2016 10:35

Цитата:

Сообщение от 7vano7
где то ошибка

переход по ссылке не отменили
#отмена-действия-браузера

7vano7 21.09.2016 13:29

я понимаю, что где то ошибка, вопрос где, что я делаю не так,

7vano7 21.09.2016 13:38

<div class = "sidebar">
    <ul class ="sb">
    <?php

    if ($this->sb !="") {
	echo Sidebar::sidebarDisplay($this->sb);
    } 
   ?>
  </ul>
</div>


$link = PATH."/products/index?";
	foreach ($param as $list) {
		$res .=  "<li><a href=".$link.$list['link'].'          
                onclick="this'.'.'.'className+='."'current'".';'.
		'">'.$list['name']."</a></li>"; 
	}


.sb {
	margin: 0;
	padding: 0;
	width: 100%;
	list-style-type: none;
  }

  .sb li {
	display:block;
	width: 100%;
	font-size: 1.1em;
	color: #6C3262;
  }

  .sb li a {
	text-decoration: none;
	padding: 2% 10%;
	width:100%;
	color: #89628e;
	text-align: justify;
	font-weight: bold;
  }

  .sb li a:hover {
	font-size: 1.2em;
	color: #c111d8;
  }

  .sb li a:active {
	color: #e154f7;
	font-size: 1.2em;
  }

  sb li a.current {
	color: #red;
  }


как я понимаю, js код здесь не нужен. по при клике класс к блоку div добавляется и тут же при переходе по ссылке исчезает. Или нужно что-то в дописать в коде?

рони 21.09.2016 15:49

Цитата:

Сообщение от 7vano7
onclick="this'.'.'.'className+='."'current'".';'.

сюда добавить return false


Часовой пояс GMT +3, время: 04:25.