导航菜单中突出显示的锚点
Highlighted anchor in nav menu
我有一个WordPress系统。问题是我的导航菜单。
我的菜单中有一个子站点 link,主站点的一部分有一个锚点。
因此,如果我 link 这样的锚点: #test
它可以在主站点上运行。如果我想在子网站上单击它,它不起作用。
如果我 link 这样的锚点:http://localhost/#test
它在子站点上有效。
但在主页上锚点被突出显示。我知道这是因为它是当前菜单项,但我不想突出显示它。我可以像正常颜色一样设置 class 当前菜单项的样式。
但我希望活动 link 突出显示。
我对答案的想法是,也许我 link 是这样的:#test
然后我将 link 重定向到:http://localhost/#test
不过如果有其他解决方案就好了。
我无法在 www 中找到有关此主题的内容。如果有人有好的文档那就太好了。
谢谢你帮助我:)
如果你这样使用它:
#test
它指的是当前访问站点上的锚点。
所以对于主站点来说,它将是
yourwebsite.tld/#测试
在子网站上它将是
你的网站。tld/subside/#test
非常不同的东西。
使用完整 link 以便菜单始终指向相同的信息部分。
如果您不想突出显示完整的 link,您可能需要使用 JavaScript。
你可以,例如。将 class 添加到所有带有锚标记的菜单 link - 并取消突出显示效果。
或者您可以将每个菜单 link 与 url 栏中的当前 url 进行比较 - 如果这不是完美匹配 - 添加 class / 或添加 class 如果是绝配。
所以我找到了解决办法。我添加了一些JS来删除添加高亮效果的CSS class。
所以这很完美。一开始有点困难,因为我不能 select menu-item 和 getElementsByClassName
。但是使用 querySelector 它工作正常。
JS 代码如下所示:
对于第一个主播:
document.querySelector("#menu-navigation-de-1 > li.menu-item.menu-item-type-custom.menu-item-object-custom.current-menu-item.current_page_item.menu-item-home.menu-item-49874.nav-item").classList.remove("current-menu-item");
对于第二个主播:
document.querySelector("#menu-navigation-de-1 > li.menu-item.menu-item-type-custom.menu-item-object-custom.current-menu-item.current_page_item.menu-item-home.menu-item-300.nav-item").classList.remove("current-menu-item");
谢谢@ibes 对我的帮助。 :)
我有一个WordPress系统。问题是我的导航菜单。
我的菜单中有一个子站点 link,主站点的一部分有一个锚点。
因此,如果我 link 这样的锚点: #test
它可以在主站点上运行。如果我想在子网站上单击它,它不起作用。
如果我 link 这样的锚点:http://localhost/#test
它在子站点上有效。
但在主页上锚点被突出显示。我知道这是因为它是当前菜单项,但我不想突出显示它。我可以像正常颜色一样设置 class 当前菜单项的样式。
但我希望活动 link 突出显示。
我对答案的想法是,也许我 link 是这样的:#test
然后我将 link 重定向到:http://localhost/#test
不过如果有其他解决方案就好了。 我无法在 www 中找到有关此主题的内容。如果有人有好的文档那就太好了。
谢谢你帮助我:)
如果你这样使用它:
#test
它指的是当前访问站点上的锚点。
所以对于主站点来说,它将是
yourwebsite.tld/#测试
在子网站上它将是
你的网站。tld/subside/#test
非常不同的东西。
使用完整 link 以便菜单始终指向相同的信息部分。
如果您不想突出显示完整的 link,您可能需要使用 JavaScript。
你可以,例如。将 class 添加到所有带有锚标记的菜单 link - 并取消突出显示效果。
或者您可以将每个菜单 link 与 url 栏中的当前 url 进行比较 - 如果这不是完美匹配 - 添加 class / 或添加 class 如果是绝配。
所以我找到了解决办法。我添加了一些JS来删除添加高亮效果的CSS class。
所以这很完美。一开始有点困难,因为我不能 select menu-item 和 getElementsByClassName
。但是使用 querySelector 它工作正常。
JS 代码如下所示:
对于第一个主播:
document.querySelector("#menu-navigation-de-1 > li.menu-item.menu-item-type-custom.menu-item-object-custom.current-menu-item.current_page_item.menu-item-home.menu-item-49874.nav-item").classList.remove("current-menu-item");
对于第二个主播:
document.querySelector("#menu-navigation-de-1 > li.menu-item.menu-item-type-custom.menu-item-object-custom.current-menu-item.current_page_item.menu-item-home.menu-item-300.nav-item").classList.remove("current-menu-item");
谢谢@ibes 对我的帮助。 :)