Подсвечивание активной ссылки меню с помощью javascript
1. Постановка задачи.
Условия:
Есть блок меню
Код:
<div id="menu">
<ul>
<li>
<a class="active_menu" href="http://test.into.by/">Главная</a>
</li>
<li>
<a href="?module=articles">Статьи</a>
</li>
<li>
<a href="?module=forum">Форум</a>
</li>
</ul>
</div>
Нужно, чтобы класс "active_menu" перемещался по тегам <a> в соответствии с заложенным в них ссылками href="url"
2. Реализация.
Делай раз.
Поместите в заголовок <head>
Код:
Делай два.*
Размещаем в нужном месте элементы меню без классов
Код:
<div id="menu">
<ul>
<li>
<a href="http://test.into.by/">Главная</a>
</li>
<li>
<a href="?module=articles">Статьи</a>
</li>
<li>
<a href="?module=forum">Форум</a>
</li>
</ul>
</div>
Делай три.
Чтобы код работал каждый раз при перезагрузке всей страницы, добавим перед тегом
</body>Код:
<script type="text/javascript">shineLinks('menu');</script>Всё. Теперь нужно добавить класс "active_menu" в css файл.
Равно как и форматы id="menu", теги
<ul> и <li>.Пример горизонтального меню:
Код:
#menu {
float: left;
width: 700px;
}
#menu ul {
margin: 0;
padding: 0;
list-style: none;
}
#menu ul li {
padding: 0px;
margin: 0px;
display: inline;
}
#menu ul li a {
float: left;
display: block;
width: 130px;
height: 50px;
padding: 17px 10px 0 0;
margin: 0 30px 0 0 ;
font-size: 13px;
text-align: center;
text-decoration: none;
color: #6d450f;
font-weight: bold;
outline: none;
}
#menu ul li a:hover, #menu ul li .active_menu {
color: #fff;
background: url(images/menu_hover.png)
}
На примере ReloadCMS вывод меню будет выглядеть так:
Код:
<div id="menu">
<ul>
<?rcms_show_element('navigation', '<li><a href="{link}">{title}</a></li>')?>
</ul>
</div> <!-- end of menu -->
3. Заключение.
В заключение отметим, что этот код будет работать и с несколькими меню, нужно только несколько раз вызывать функцию
shineLinks('id') с нужным id. Естественно, id должен быть уникален для каждого <div>.Категории: JS
Теги: js, активная, меню, подсветка, ссылка
Оцените материал:Недавно просмотренные
- Мега меню с выпадающими пунктами на CSS
- Бесплатные сетевые IP-сканеры
- Красивое вертикальное меню на JQuery
- Слайдер TinySlider 2
- Установить cURL на Denwer
TOP-5
- PHP сценарии обработки HTML форм (229804)
- 301 редирект в файле .htaccess. Примеры (116442)
- Конвертация картинок из растра в вектор (104297)
- Подгрузка контента без перезагрузки страницы (69953)
- Спойлер с плавным открытием/закрытием (61552)
Недавно просмотренные [СНИППЕТЫ]
- Как правильно делать уборку в доме
- Актуальные форматы изображений в вебе
- Как выделить активный пункт меню?
- Как отлаживать bash скрипты по шагам
- Основы Git
TOP-5 [СНИППЕТЫ]
- 11 основных примеров команды UPDATE в MySQL [4072]
- Теория тестирования ПО просто и понятно [4067]
- Команды Linux для работы с VPS/VDS серверами [3810]
- Настройка Webpack 5 [3318]
- Почему сайт плохо ранжируется в Google (кодекс) [2764]
Новое [СНИППЕТЫ]
- ✶Как настроить двухфакторную авторизацию через Telegram для SSH [28.08.24, Notes]
- ✶Как сверстать письмо, чтобы оно дошло до получателя таким, как задумано [13.03.24, Notes]
- ✶Скрытые возможности элемента <input> [14.01.24, Notes]
- ✶Как разогнать ЖК монитор [30.12.23, Notes]
- ✶Берёшь предоплату — получи заявление о мошенничестве: как могут «кошмарить» исполнителя [20.12.23, Articles]
Облачко тегов
ajax,
ceo,
css,
delirium,
google,
html,
javascript,
jquery,
js,
mix,
mysql,
php,
seo,
анализ,
аналитика,
аудит,
библиотека,
веб-мастер,
вебмастер,
защита,
инструмент,
интернет-маркетинг,
контент-маркетинг,
контроль,
менеджер,
меню,
оптимизатор,
оптимизация,
плагин,
подборка инструментов,
проверка,
продвижение,
сайт,
сайтостроение,
сео,
скрипт,
спойлер,
страница,
стратегия,
ускорение,
файл,
форма,
яндекс






Сергей#
Благодарен. Пригодился скрипт. Применил его в меню рубрик на сайте wordpress, чтобы активная ссылка стала не ссылкой. В вордпрессе почему-то try-catch не пошло. Убрал конструкцию – все заработало.
coder hol es#
Спасибо за комментарий, рад, что пригодилось)