Как выделить активный пункт меню javascript
Помогите пожалуйста, хочу чтобы пункт меню выделялся при ее выборе.
<div id="gmenu"> <ul> <li><a href="#" ><span>Главная</span></a></li> <li><a href='#'><span>Пользователи</span></a></li> <li><a href='#'><span>Новости</span></a></li> <li><a href='#'><span>Гостиницы</span></a></li> </ul> </div> Вот как должен выглядеть <li><a href="#" class="current"><span>Главная</span></a></li> и желательно указать где надо прописывать скрипт для выделения. Спасибо! |
А Учебник читать не пробовали?
|
Читал вот что нужно
$('div.top_menu li').each(function () {if (this.getElementsByTagName("a")[0].href == location.href) this.className = "current";}); а как ее применить к моему коду? |
Цитата:
если уж использовать jquery то что то в духе: $("#gmenu > ul > li >a").click(function(){ $(".current").removeClass("current");//Удаляем класс у прошлого выделенного $(this).addClass("current");//добовляем класс }); |
а где ее прописывать?
|
<script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#gmenu > ul > li >a').each(function () { if($(this).attr('href') == location.href) $(this).addClass('Active'); }); }); </script> <style> .Active{ border:2px solid red; } </style> <div id="gmenu"> <ul> <li><a href="http://javascript.ru/forum/" ><span>Главная</span></a></li> <li><a href='http://javascript.ru/forum/misc/'><span>Пользователи</span></a></li> <li><a href='http://lookatcode.com/showhtml'><span>Новости</span></a></li> <li><a href='http://lookatcode.com/asdfsdfl'><span>Гостиницы</span></a></li> </ul> </div> |
Спасибо большое)) вот что мне нужно было.
|
Цитата:
<script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(function() { $('#gmenu').on('click', 'li', function(event) { $(this).addClass("active").siblings().removeClass("active"); event.preventDefault(); }); }); </script> <style> .active { border:2px solid red; } </style> <div id="gmenu"> <ul> <li><a href="http://javascript.ru/forum/"><span>Главная</span></a></li> <li><a href='http://javascript.ru/forum/misc/'><span>Пользователи</span></a></li> <li><a href='http://lookatcode.com/showhtml'><span>Новости</span></a></li> <li><a href='http://lookatcode.com/asdfsdfl'><span>Гостиницы</span></a></li> </ul> </div> |
А вот у меня почему то не работает, не подскажите почему?
<script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#menu > ul > li >a').each(function () { if($(this).attr('href') == location.href) $(this).addClass('active'); }); }); </script> <div id="menu"> <ul id="nav"> <li><a href=''></a></li> </ul> </div> #menu { background-color: #f4735e; width: 100%; height: 45px; border-radius: 0 0 10px 10px; } #nav { font-size: 15px; font-family: Tahoma, sans-serif; } #nav li a { outline: none; text-decoration: none; display: block; color: #ffffff; background-color: #f4735e; float: left; padding: 15px 15px; } #nav li a:hover, a:active, a:focus { background-color: #a3b754; } .active { background-color: blue !important; } |
А как можно это добавить к другой функции?
в JS полный ноль, как добавить можно к этой функции?
<script type="text/javascript"> $(document).ready(function() { $("#topnav li").prepend("<span></span>"); $("#topnav li").each(function() { var linkText = $(this).find("a").html(); $(this).find("span").show().html(linkText); }); $("#topnav li").hover(function() { $(this).find("span").stop().animate({ marginTop: "-40" }, 250); } , function() { $(this).find("span").stop().animate({ marginTop: "0" }, 250); }); }); </script> |
Часовой пояс GMT +3, время: 22:17. |