Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выделение текущей ссылки (https://javascript.ru/forum/misc/34687-vydelenie-tekushhejj-ssylki.html)

region029 15.01.2013 10:26

Выделение текущей ссылки
 
Здравствуйте, хотелось бы осуществить выделение активных пунктов меню, как на хабре:
есть ссылка на главную страницу: <a href="site.ru">главная</a>, ей должен присваиваться class="active", если пользователь находится на главной ИЛИ на страницах навигации site.ru/page/1, page/2, page/3 и т.д. и соответственно класс должен быть убран, если пользователь ушёл с данных страниц.
Также есть и другие категории сайта, в которых хотелось бы выделить ссылку например <a href="/newpost/">новые посты</a>, и в этом разделе тоже есть навигация по страницам /newpost/page/1, ..../page/2, ...../page/3
Может есть готовые решения, которые можно настроить под себя?

andreychaki 15.01.2013 10:49

а имеет ли смысл это делать на JS? чаще всего это реализовывается на движке сайта

region029 15.01.2013 11:02

у меня DLE, там можно через [available=*], но код получается очень большой и некрасивый, я так понимаю:
Упрощённо - [available=main]главная[/available] / [not-available=main]главная[/not-available] что-то типа этого, то есть если пользователь на главной он видит чёрную надпись ГЛАВНАЯ, а если не на главной, то КРАСНУЮ

рони 15.01.2013 12:09

:-E
Выделение активного пункта меню
Выделение пункта меню в котором находишься
Вылеление активных пунков меню. Нужна помощь !
Добавление класса для тега
Как выделить активный пункт?

Deff 15.01.2013 12:16

<style>
a {
 color:#000;
}
a.active {
  border:red solid 2px;
}
</style>
<a href="http://javascript.ru/forum/">Создать форум</a><br />
<a class="xxx" href="http://lookatcode.com/showhtml">Создать форум</a>

<script type="text/javascript">
 var Link = document.URL;
 var a = document.getElementsByTagName('a');
 for(var i=0; i<a.length; i++){
   var b = a[i].getAttribute('href');
   var c = a[i].getAttribute('class'); if(!c) c='';
   if(b==Link)a[i].setAttribute('class',c+' active')
 }
</script>


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