Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > активное меню на jquery


Автор: Marlik 15.8.2012, 00:18
Доброго времени суток, форумчане. Есть скрипт и менюшка, с помощью скрипта хочу добавлять класс к одному из пунктов меню, а получается класс лепится ко всем пунктам. В javascript'ах не силен и в jquery тем более.

Код

<script type="text/javascript">
$(document).ready(function() {
    $('#menu').children('li').each(function(index, element) {
        var url = window.location;
        if($(element).find('a').attr('href') == url.protocol+'//'+url.location.host+url.pathname)
            $(element).addClass('class', 'now');
    });
});
</script>


Код

<div id="menu">
<ul>
<li><a href="http://localhost/products.html">PRODUCTS</a></li>
<li><a href="http://localhost/about.html">ABOUT US</a></li>
<li><a href="http://localhost/blog.html">BLOG</a></li>
<li><a href="http://localhost/forum.html">FORUM</a></li>
</ul>
 </div>


Спасибо заранее.

Автор: нуп 15.8.2012, 00:38
Код

$('#menu').find('a[href$=' + window.location.pathname + ']').parent().addClass('now');

Автор: Marlik 15.8.2012, 00:51
Спасибо огромное, так действительно короче... но не работает по прежнему. Класс now добавляется ко всем пунктам меню.

Автор: нуп 15.8.2012, 00:58
http://jsfiddle.net/Rxf9s/

Автор: Marlik 15.8.2012, 01:04
Спасибо огромное дружище, за валидатор особенно, со свежими силами начну далее ковыряться, от меня плюс. )))

По ссылке работает, но только если напрямую указать файл, а у меня и если напрямую указать, не подсвечивает и все равно в каждый пункт меню лепит класс. Где может быть засада? То что отрабатывает скрипт понятно, а куды рыть... хз... ((( с вечера ковыряюсь...

Можно хоть как-то проверить, что скрипт нарыл? Мне кажется все что нарыл, туда класс и подставляет...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)