Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Подсветка того пункта меню, где мы сейчас находимся. Как? (https://javascript.ru/forum/dom-window/20932-podsvetka-togo-punkta-menyu-gde-my-sejjchas-nakhodimsya-kak.html)

pro_xaoc 23.08.2011 11:38

Подсветка того пункта меню, где мы сейчас находимся. Как?
 
Люди, не могли бы вы мне подсказать, как сделать подсветку того пункта меню, где мы сейчас находимся? Заранее спасибо!:)

tadjik1 23.08.2011 11:46

назначаете элементу класс active, а в css пишите

.active {
  color:red;
}

класс можно назначать через javascript по onclick, можно просто через html (если речь про навигацию сайта).

поясните задачу, если это решение не подходит

pro_xaoc 23.08.2011 12:02

Допустим есть меню: Главная, Контакты, О сайте. Когда мы находимся на главной странице, то подсвечивается пункт "Главная", а когда мы зашли в меню "Контакты", то соответственно подсвечивается "Контакты". Примерно как на этом сайте. Здесь, когда мы на главной, то активна "Главная", а если нажали на "О компании", то активна это меню. Надеюсь объяснил понятно.

tadjik1 23.08.2011 12:46

да, вполне. тогда как во втором случае я описал — через html.

на странице main.html вы к элементу «Главная» добавляете класс active, на странице about.html — «О нас».

вот, как это сделано на сайте, ссылку на который указали:

<li class="active"><a href="/partners.html" class="menu-item2 active" id="menu19" title="Партнеры"><span class="menu-title">Партнеры</span></a></li>


обратите внимание на слово active в атрибуте class.

в общем, к js это никакого отношения не имеет =)

ksa 23.08.2011 13:07

Цитата:

Сообщение от tadjik1
в общем, к js это никакого отношения не имеет

Ну как вариант можно еще смотреть в
location.href

какую страничку сейчас загрузили и от этого "активировать" нужный пункт... ;)

tadjik1 23.08.2011 14:48

ну тут множество может быть вариантов =)

но я делал именно через хтмл.
плюс к тому ты всегда уверен, что отображаться будет правильно даже при отключении жс в браузере))

pro_xaoc 23.08.2011 20:44

Так, долго не мог ответить ... работа)) tadjik1,
я чет не очень понял, если не трудно, можете по подробнее?

yashka525 24.08.2011 03:03

Цитата:

Сообщение от pro_xaoc
я чет не очень понял

Что тут не понятного? У Вас каждая страничка - отдельный документ? Если да - на страничке index.html делаете меню:
<a href="index.html" class="link *!*active*/!*">Главная</a>
<a href="contact.html" class="link">Контакты</a>
<a href="about.ntml" class="link">О нас</a>

А на страничке contact.html делаете так:
<a href="index.html" class="link">Главная</a>
<a href="contact.html" class="link *!*active*/!*">Контакты</a>
<a href="about.ntml" class="link">О нас</a>

А дальше - аналогично подставляете класс active, а в CSS описываете .active{color: red;}
Удачи.

pro_xaoc 24.08.2011 08:05

yashka525,
Если бы все было так просто, у меня не отдельные html-ки, а сайт написанный на php. Меню находится в хедере, а его инклюдирую на каждой динамической странице.

yashka525 24.08.2011 08:35

Ok, у Вас все передается в get? тоесть в строке? Тогда получаем Вашу переменную и с помощью js берем ищем такое же id в меню, а там добавляем класс.

ksa 24.08.2011 09:14

Цитата:

Сообщение от pro_xaoc
у меня не отдельные html-ки, а сайт написанный на php

Тогда точно JS можно не использовать, все делать на сервере...

pro_xaoc 24.08.2011 13:45

Понятно, спасибо всем!


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