Перейти к содержимому


Подсветить Активный Пункт Меню


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 06 Май 2014 - 19:52

Хочу, чтобы в верхнем меню подсвечивалась вкладка, соответствующая активной странице. (jackgun.ru)

Насколько я понимаю это должен быть какой-то javascript, который менял бы класс активного li с "hovered open" на "selected hovered open".

Можете подсказать, какой код надо добавить?

#2 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 07 Май 2014 - 03:24

Добавьте в конец вашего файла main.js следующий код

$(function() {
  if(location.pathname.indexOf('/catalog/') !== -1) {
	$('#catalog-categories-top li a').each(function() {
	  if($(this).attr('href').indexOf(location.pathname) !== -1) {
		console.log($(this).closest('.hovered'));
		$(this).closest('.hovered').addClass('selected');
	  }
	});
  }
});


#3 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 07 Май 2014 - 06:02

Спасибо большое!

#4 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 07 Май 2014 - 06:41

Ой, заметил сейчас, что при выборе в меню пункта "винтовки", вмести с ним почему-то подсвечивается и пункт "пистолеты".

Как это исправить?

#5 Castiel

Castiel

    Активный участник

  • Модераторы
  • 3 519 сообщений
  • ГородНижний Новгород

Отправлено 07 Май 2014 - 06:52

Просмотр сообщенияJack Gun (07 Май 2014 - 06:41) писал:

Ой, заметил сейчас, что при выборе в меню пункта "винтовки", вмести с ним почему-то подсвечивается и пункт "пистолеты".

Как это исправить?

Здравствуйте, проблема не обнаружена, пришлите пожалуйста скриншот и порядок действий при которых она возникает.

#6 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 07 Май 2014 - 21:53

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

Вот ту на скрине, подсвеченны три пункта, это я навел мышку на "аксессуары", чтобы показать вам еще одну ошибку. Подменю не выходит за пределы контейнера. Его видно только если поставить overlay:visible для всего контейнера страницы, но это плохо сказывается на ее общем внешнем виде. Может есть другие способы сделать так, чтобы оно показывалось полностью?


Изображение

#7 MikDark

MikDark

    Активный участник

  • Модераторы
  • 6 468 сообщений

Отправлено 07 Май 2014 - 22:09

Просмотр сообщенияJack Gun (07 Май 2014 - 21:53) писал:

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

Вот ту на скрине, подсвеченны три пункта, это я навел мышку на "аксессуары", чтобы показать вам еще одну ошибку. Подменю не выходит за пределы контейнера. Его видно только если поставить overlay:visible для всего контейнера страницы, но это плохо сказывается на ее общем внешнем виде. Может есть другие способы сделать так, чтобы оно показывалось полностью?




Для контейнера уберите overflow , и добавьте в стили:
.row {
overflow:hidden;
}


#8 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 08 Май 2014 - 06:45

Просмотр сообщенияMikDark (07 Май 2014 - 22:09) писал:

Для контейнера уберите overflow , и добавьте в стили:
.row {
overflow:hidden;
}

Не помогло.

#9 Сake

Сake

    Активный участник

  • Модератоpы
  • 5 979 сообщений

Отправлено 09 Май 2014 - 01:54

Проблема в схожести адресов. Попробуйте вместо предыдущего кода использовать следующий

$(function() {
if(location.pathname.indexOf('/catalog/') !== -1) {
	 $('#catalog-categories-top li a').each(function() {
		 if($(this).attr('href').indexOf(location.pathname + '/') !== -1) {
			 $(this).closest('.hovered').addClass('selected');
		 }
	 });
}
});


#10 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 12 Май 2014 - 09:45

Спасибо! Все заработало!

Теперь бы еще как-нибудь побороть то, что последний пункт меню виден только наполовину при наведении на него мышью.

#11 MikDark

MikDark

    Активный участник

  • Модераторы
  • 6 468 сообщений

Отправлено 12 Май 2014 - 09:55

Просмотр сообщенияJack Gun (12 Май 2014 - 09:45) писал:

Спасибо! Все заработало!

Теперь бы еще как-нибудь побороть то, что последний пункт меню виден только наполовину при наведении на него мышью.

В main.css Добавляем:
.container {
overflow: visible !important;
}
.row { overflow:hidden;}


#12 Jack Gun

Jack Gun

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 69 сообщений

Отправлено 12 Май 2014 - 10:09

Вот это оперативность! Спасибо!!




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных