Присвоить пункту меню класс active???
Помогите!!!! Нужно присвоить пункту меню класс active если он активен! Вот скрипт
$(function() {
$('.menu-item').on('click', 'a', function(event) {
$(this).addClass("active").siblings().removeClass("active");
event.preventDefault();
});
});
Добавила этот вариант скрипта, но он тоже не работает
<script>
$(function () {
$('.menu-item a').each(function () {
var location = window.location.href;
var link = this.href;
if(location == link) {
$(this).addClass('active');
}
});
});
</script>
|
Julia1991,
у него класс open появляется, чем не устраивает? |
У активного пункта меню open не появляется
|
$(function() {
$("a[href='" + window.location.href.replace(/\/(ru|ua)/g,"") + "']").addClass("active");
});
|
Большое спасибо, помогло
|
Не срабатывает для страницы блога
|
Стремно такое публиковать, но...
const patterns = [];
let url = location.href.replace(/\/(ru|ua)/g, '');
patterns.push(url);
if (url.substr(-1) === '/') {
url = url.substr(0, url.length - 1);
patterns.push(url);
};
url = url.split(location.host, 2).pop();
patterns.push(url);
if (url.substr(0, 1) === '/') {
url = url.substr(1);
patterns.push(url);
};
if (url.indexOf('#')) {
patterns.push(
url.split('#').shift(),
'/' + url.split('#').shift()
);
};
if (url.indexOf('?')) {
patterns.push(
url.split('?').shift(),
'/' + url.split('?').shift()
);
};
patterns.forEach(function(href) {
const list = document.querySelectorAll('.menu-item a[href="' + href + '"]');
if (list)
list.forEach(function(node) {
node.classList.add('active');
});
});
|
Нет, этот не работает
|
Цитата:
$(function() {
//тут код
});
|
Теперь работает, спасибо! А как сделать чтоб при клике на активный пункт меню не срабатывал переход? Вот мой код, но он не работает
document.getElementsByClassName('active').onclick = function(){
return false;
};
|
| Часовой пояс GMT +3, время: 06:57. |