javascript - 如何使用 JavaScript 将活动类放在页面位置
问题描述
我正在尝试在我的导航菜单上添加活动类,因此有一个边框,并且您所在的特定页面的文字是彩色的,但它不起作用。它适用于主要导航,但不适用于我的次要导航,任何关于它为什么不工作的想法将不胜感激,谢谢?我的代码在下面。底部的活动类是应该应用的
const currentLocations = location.href;
const menuItems = document.querySelectorAll('.secondary a');
const menuLengths = menuItems.length
for (let i = 0; i < menuLengths; i++) {
if (menuItems[i].href === currentLocations) {
menuItems[i].className = "active"
}
}
.secondarynav-item-trading {
position: relative;
margin-top: 10px;
padding: 15px 5px;
width: 1430px;
top: 13px;
left: 30px;
}
.secondarynav-item-trading a {
display: inline-block;
text-decoration: none;
color: black;
font-size: 14px;
text-align: center;
padding: 10px;
border-radius: 20px;
width: 190px;
}
.secondarynavigation-item-trading ul {
list-style: none;
}
.secondarynavigation-item-trading li {
display: inline-block;
margin-top: 0;
}
.secondarynavigation-item-trading a:hover {
color: #fd886b;
border: 1px solid #fd886b;
font-weight: bold;
}
.secondarynavigation-item-trading a:hover::before {
width: 100%;
}
.secondarynav-item-trading ::after {
content: "";
display: table;
clear: both;
}
.secondarynavigation-item-trading a::before {
content: "";
display: block;
height: 5px;
background-color: #fd886b;
position: relative;
top: 40px;
width: 0%;
transition: all ease-in-out 250ms;
}
.secondary a.active {
color: #fd886b;
border: 1px solid #fd886b;
font-weight: bold;
}
<header class="secondarynav-messages">
<div class="secondary">
<!-- secondary navigation for homepage -->
<nav alt="secondarynavigation-messages" id="secondarynavigation-messages">
<!-- secondary navigation buttons below the main navigation -->
<ul class="secondarynavigation-messages" id="secondarynavigation-messages">
<li><a href="messages-inbox.php" id="inbox-active" class="inbox-active">Inbox</a></li>
<li><a href="messages-sent.php" class="sent-active">Sent</a></li>
<li><a href="messages-compose-a-message.php">Compose a message</a></li>
<li><a href="messages-drafts.php" class="drafts-active">Drafts</a></li>
<li><a href="messages-archived.php" class="archived-active">Archived</a></li>
</ul>
</nav>
</div>
</header>
我在上面的代码中使用它的方式适用于第一页,但其他都没有,但我在主导航中做了完全相同的事情并且它有效我还在一个新的网站文档上复制了代码并且它有效,但是对于某些原因它在这里不起作用
解决方案
推荐阅读
- c++ - 变量不在 Lambda 范围内
- typescript - 如何解决模板驱动形式角度 8 中的无效问题
- sql - 在sql oracle中使用regexp_substr获取特定单词之后的单词
- c++ - 收到 WM_KEYDOWN 消息时 lParam 的行为是什么?
- node.js - 重复参数通过 node.js express 或 vue 路由器获取数组
- docker - traefik 两个端口和 2 个主机
- amazon-ec2 - certbot 在两个不同的 ec2 实例上创建证书
- python - DRF SimpleJWT 删除密码并添加日期字段
- javascript - 如何在 Firebase Auth 中检测 3rd 方 cookie 的失败
- html - 角度模板驱动形式中的动态元素参考