У меня есть следующий скрипт:
(function($) {
$.fn.MenuAutoActive = function() {
var menus = $('ul li a');
//menus.removeClass('active');
var matches = menus.filter(function() {
return document.location.href.indexOf($(this).attr('href')) >= 0;
});
matches.addClass('active');
};
Что делает идентификатор:
- это перебирает весь список ul> li в поисках 'a'
- отметьте 'a' для 'href'
- если href = текущий URL, к нему добавляется класс 'active'
Единственная проблема, с которой я сталкиваюсь, это выглядит только в последней части href:
например: Главное меню будет:
<ul>
<li><a href="index.html"></a></li>
<li><a href="Services/index.html"></a></li>
<li><a href="Portfolio/index.html"></a></li>
<li><a href="Conact/index.html"></a></li>
</ul>
URL = http://www.website.com/Services/
В этом случае сценарий НЕ будет помечать <a href="Services/index.html"></a>
, так как URL не содержит index.html.
Как сделать так, чтобы последний (после последнего /) и один перед последним битом (до последнего /) URL-адреса?
Любая помощь высоко ценится!
Пит