当前位置: 首页 > 知识库问答 >
问题:

使用jquery根据当前URL设置活动菜单项

席俊驰
2023-03-14

我想突出显示我的导航菜单中的当前链接基于当前活动的URL。

如果我的导航菜单是纯CSS,我已经找到了很多解决方案,但是我的菜单是基于图像的,因此每个链接的活动类都是不同的,这就是我被困住的地方。

谁能给我提点有用的东西吗?我对jQuery很陌生,但发现它非常有用,是我学过的最好的语言之一。

<div id="navbar">
    <ul class="navmenu">
        <li><a class="products" href="#"></a></li>
        <li><a class="services" href="#"></a></li>
        <li><a class="about-us" href="#"></a></li>
        <li><a class="contact-us" href="#"></a></li>
        <li><a class="directory" href="#"></a></li>
        <li><a class="blog" href="#"></a></li>
    </ul>
</div>

每个a标记都有一个预加载的CSS背景图像,每个类都有一个悬停函数。

共有1个答案

长孙硕
2023-03-14

您可以使用javascript获取url在#:

window.location.hash

然后再次使用jQuery突出显示相关元素:

var linkClass = window.location.hash;
$("."+linkClass).prop("class",linkClass+" highlight");

这只是一种做法(可能不是最优雅的)。在这种情况下,您的css将如下所示:

.pageOne {

}  
.pageOne.highlight {

}

和HTML如下所示:

<a href="pageOne.html#pageOne">Page One</a>
 类似资料:
  • 如果菜单项url==当前url,我有以下代码可以将活动css类添加到菜单项: 但这会将该类添加到所有菜单项中。有什么提示吗?

  • 问题内容: 我正在使用React Router 1.0.2,我的路线如下所示: 我的App组件如下所示,我认为我可以在道具中传递位置: 我想在Menu组件上有条件地设置一个活动类: 但是,当调用菜单的render函数时,null是否为null? 如何将道具传递给子组件? 问题答案: 好像您没有将prop传递到正确的元素中。该的将是什么子路径被渲染(所以无论是或),但你想要的道具要传递给。 为此,只

  • 我使用下面的代码将活动类添加到菜单项。该网站是99%使用WooCommerce的Ecomm,我使用产品类别作为顶级导航项目。下面的代码适用于几乎所有项目,除非在产品子类别上处于活动状态。 本质上,我希望顶层导航项被标记为活动类,即使选择了子类别。

  • 尝试将'active'类添加到与当前页面相对应的链接中,该链接位于menu.html中存储的菜单上,并通过jQuery将其拉到index.html。 我已经设法用JQuery调用了menu.html文件,并将菜单插入index.html。CSS的造型都很完美。但是,由于我现在不是单独添加'active'类到每个菜单项,所以我需要一个方法来实现这一点。在index.html中所有活动类都在一个屋檐下

  • 问题内容: 我正在使用jQuery。如何获取当前URL的路径并将其分配给变量? 范例网址: 问题答案: 要获取路径,可以使用:

  • 在我的基于php的web项目中,当用户点击导航菜单栏,即我的导航菜单时,我想将css类(.active)应用到当前url路径 如何应用。主动的css类与Jquery或JS,页面刷新后,链接是css应用?