nav li span маржа слева - PullRequest
       3

nav li span маржа слева

0 голосов
/ 04 августа 2020

привет, я добавляю активный класс в меню навигации с кодами, приведенными ниже. а затем я добавляю диапазон к активному классу и устанавливаю левый пиксель, но я хочу использовать его эффективно. Как я могу исправить?

Я показал на изображении, чтобы мы могли лучше понять, что я имею в виду.

оставшийся диапазон отображается неправильно. Я не мог найти решения. Уже спасибо за вашу помощь. enter image description here enter image description here

  Дом    видео    галерея     около     контакт        

li активный

function updateMenu(url) {
    const active = document.querySelector('.menu-item.active');

    if (active !== null) {
        active.classList.remove('active');
    }

    const links = Array.from(document.querySelectorAll('.menu-item'));

    links.forEach(function (li) {
        let anchor = li.querySelector("a");
        if (url.indexOf(anchor.href) > -1) {
            li.classList.add("active");
        }
    });
}

updateMenu(window.location.href);

меню li add spann

function menu_line() {
    var menu = jQuery('.main-menu.main_menu_container.menu_line_enable > ul');
    if (menu.length) {
        menu.each(function () {
            var menu = jQuery(this);
            var current = '';
            menu.append('<span class="menu_item_line"></span>');
            var menu_item = menu.find('> .menu-item');
            var currentItem = menu.find('> .active');
            var currentItemParent = menu.find('> .current-menu-ancestor');
            var line = menu.closest(".header_side").find('.menu_item_line');
            if (currentItem.length || currentItemParent.length) {
                current = currentItem.length ? currentItem : (currentItemParent.length ? currentItemParent : '');
                line.css({width: 25});
                line.css({left: current.find('>a').offset().left - menu.offset().left});
                line.css({marginLeft: 7});
            }

            menu_item.mouseenter(function () {
                line.css({width: jQuery(this).find('> a').outerWidth()});
                line.css({left: jQuery(this).find('> a').offset().left - jQuery(this).parent().offset().left});
                line.css({marginLeft: 0});
            });

            menu.mouseleave(function () {
                if (current.length) {
                    line.css({width: 25});
                    line.css({left: current.find('> a').offset().left - menu.offset().left});
                    line.css({marginLeft: 7});
                } else {
                    line.css({width: '0'});
                    line.css({left: '100%'});
                    line.css({marginLeft: 0});
                }
            });
        })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...