Javascript 不同页面上导航栏的不同行为

Javascript 不同页面上导航栏的不同行为,javascript,css,navbar,Javascript,Css,Navbar,我正在自学如何制作网站,目前存在以下问题: 我有一个包含导航栏的外部文件,我将其包含在所有页面中。我希望它在所有页面上都有一个固定的位置,除了在索引上,我希望它在滚动条上保持粘性(我在上面有一个标题)。我创建了两个css类,它们可以按照我的要求工作,但我不知道如何在一个页面上设置一个类,在其他页面上设置一个类。帮忙?(我猜可能是javascript,但如何?)。谢谢 首先,如果您没有其他特定的方法来检测您在哪个页面上,您可以像这样获取当前URL: const currentHref = wind

我正在自学如何制作网站,目前存在以下问题:
我有一个包含导航栏的外部文件,我将其包含在所有页面中。我希望它在所有页面上都有一个固定的位置,除了在索引上,我希望它在滚动条上保持粘性(我在上面有一个标题)。我创建了两个css类,它们可以按照我的要求工作,但我不知道如何在一个页面上设置一个类,在其他页面上设置一个类。帮忙?(我猜可能是javascript,但如何?)。谢谢

首先,如果您没有其他特定的方法来检测您在哪个页面上,您可以像这样获取当前URL:

const currentHref = window.location.href;
然后可以应用类,具体取决于哪个URL处于活动状态:

const target = document.getElementById('target-id');

if (currentHref.includes('/page-one')) {
  target.classList.add('class-one');
} else if (currentHref.includes('/page-two')) {
  target.classList.add('class-two');
}

这是一个简化版本,可能您需要为您的真实案例添加或更改,但它应该让您了解如何实现这一点。

您是否使用了React之类的框架?如果没有,那么您的导航栏如何在一个文件中?您使用的是PHP还是其他语言?不要在navbar元素本身上切换类,而是在父元素(如body或html)上切换类,然后使用后代组合器……是的,我使用的是PHP