Присвоить пункту меню класс 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, время: 12:26. |