Как выделить активный пункт меню 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, время: 07:34. |