javascript - 导航栏在不同页面上的不同行为
问题描述
我正在自学如何制作网站,目前遇到以下问题:我有一个包含导航栏的外部文件,该文件包含在所有页面中。我希望它在所有页面上都有一个固定的位置,除了我希望它在滚动时粘住的索引(我上面有一个标题)。我制作了两个 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');
}
这是一个简化版本,您可能需要针对您的实际案例进行一些添加或更改,但它应该让您了解如何实现这一点。
推荐阅读
- rake - Rails v6.0.0 推送到 Heroku 失败 - Rake & Bundler 错误消息
- generics - 方法接收共享相同继承类的类引用
- go - 我想在接收命令行输出的同时接收命令行输入
- angular - Angular 7 + Feathersjs 仅将更新的对象作为数组返回
- python - 为什么梯度下降在 pytorch 中不能按预期工作
- powershell - 如何防止 PowerShell -Recurse 两次重命名第一个文件?
- java - Spring 5.1.5.RELEASE 我应该怎么想选择一个 JVM 版本
- c# - 如何检测表单何时从一个屏幕更改为另一个屏幕
- python - 亚马逊价格网络抓取问题与 python、请求和 bs4
- .net-core - NET Core API:414 请求 uri 太长