jquery 子菜单处于活动状态时更改UberMenu顶级菜单图标

bz4sfanl  于 2022-11-22  发布在  jQuery
关注(0)|答案(1)|浏览(131)

我正在使用一个WordPress站点的UberMenu插件。link有一个示例菜单。我有一个完全一样的,但是悬停时子菜单不能打开。但在单击时。我如何更改第一个菜单项上图标的类(工程)自(fa-cog)例如(fa-bars),并在子菜单关闭时返回它。我尝试将它绑定到菜单项上的鼠标单击事件,但实际上,您只需单击子菜单旁边的图标就可以关闭它,然后图标就不会变回原来的样子了。函数(openSubmenu)和(closeSubmenu)都是在那里调用的,但我的JS级别太低,不知道如何将类更改附加到它们上。

hkmswyz6

hkmswyz61#

UPD : 找到 此 解决 方案 :

var menuItem = document.getElementById("menu-item-5796");
var menuIcon = document.querySelector("i.ubermenu-icon");

var mutationConfig = { 
    attributes: true, 
    attributeFilter: ['class']
};

var onMutate = function(mutationsList) {
    mutationsList.forEach(mutation => {
        if(menuItem.classList.contains('ubermenu-active')){
            menuIcon.classList.add('fa-bars');
            menuIcon.classList.remove('fa-cog');
        } else {
            menuIcon.classList.add('fa-cog');
            menuIcon.classList.remove('fa-bars');
        }
    });
};

中 的 每 一 个

相关问题