Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.10.2014, 19:35
Аватар для Georka
Аспирант
Отправить личное сообщение для Georka Посмотреть профиль Найти все сообщения от Georka
 
Регистрация: 05.09.2013
Сообщений: 95

ПРОШУ ПОМОГИТЕ,. Как выделить активный пункт меню?
Ребят, как приписать дополнительный класс к <li> ???

Вот код:
<nav role="navigation" id="main-nav">
<ul id="menu-main-menu" class="menu">
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="/"><i class="fa fa-home hidden-xs"></i><span class="visible-xs-inline">Главная</span></a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="about.html">О нас</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="works.html">Услуги</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="gallery.html">Галерея</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="price.html">Прайс</a></li>
<li class="menu-item menu-item-type-post_type menu-item-object-page">
<a href="contacts.html">Контакты</a></li>
</ul>
</nav>


Нужно чтобы у активного класса, после:
menu-item menu-item-type-post_type menu-item-object-page


Было:
current-menu-item page_item current_page_item


Вот так:
<li class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item current_page_item">Ссылка</li>
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2014, 19:40
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Ищи в поиске по словам classList.add или в доках jQuery метод addClass.
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2014, 20:03
Аватар для Georka
Аспирант
Отправить личное сообщение для Georka Посмотреть профиль Найти все сообщения от Georka
 
Регистрация: 05.09.2013
Сообщений: 95

Сообщение от Safort Посмотреть сообщение
Ищи в поиске по словам classList.add или в доках jQuery метод addClass.
Блин я не спец. Пожалуйста можете помочь а?
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2014, 20:35
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Как это не спец - а такое количество шнурков кто завязал?

В качестве хорошего начала вопрос: по каким критериям определяется активный пункт меню и тебю?

Например мы на странице абоут <a href="about.html">О нас</a></li> - надо подсветить? Значит надо взять из урла адрес, или у вас лично есть другие источники?

Последний раз редактировалось kostyanet, 04.10.2014 в 20:38.
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2014, 21:00
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Походу ему надо, две темы уже, во избежание суицЫда покажу принцип:

var menu_a = document.getElementById('menu-main-menu').getElementsByTagName('a'); // все линки

for(var i=0;i<menu_a.length;i++) {
 if(menu_a[i].href=location.pathname) {
   menu_a[i].classList.add('тут перечислить тряхомудию');
   break;
 }
}


По чертежу должно работать, на jQuery скорее всего одна строчка, я не знаю какая.

ЗЫ Запускать после загрузки объекта документ.
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2014, 21:08
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

А, блин, не menu_a[i].classList, а блин

menu_a[i]parentNode.classList.add(тут шнурки);

По идее парент у линка - лист.

Дело в том что нормальные пацаны не разукрашивают сами листы - они идут контейнерами, разукрашиваются сами линки <a>. Тогда не надо скакать туда-сюда и главное что можно весь список сразу сделать каким хочешь цветом или там градиентом залить. Но это в нормальной каскадной технологии, то есть в CSS, в гамнямбе типа LESS'а - вот так, через ж.

Последний раз редактировалось kostyanet, 04.10.2014 в 21:11.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запоминать выбранный пункт меню Sveta Общие вопросы Javascript 5 27.01.2014 14:38
Аккордеон меню, как доработать код. Gawk Общие вопросы Javascript 1 23.07.2012 13:01
помогите с меню Ribt Общие вопросы Javascript 0 20.09.2008 08:11
Помогите сделать простое меню debugger Элементы интерфейса 1 09.09.2008 23:14
Раскрывающееся меню, как переставить на другую сторону? Resager Events/DOM/Window 8 22.08.2008 21:56