javascript - 如何使导航栏中的活动按钮更改颜色
问题描述
好的,所以我是 html 和 css 的超级初学者,我根本不懂 javascript。我正在创建一个小网站作为学校项目,我从 w3schools 教程制作了水平导航栏,我想做的是当我按其中一个按钮保持颜色,而不仅仅是改变颜色 1 秒,因为它们是“活动的”。我的代码可能完全混乱,但我真的需要帮助。此外,我还有 3 个子页面连接到这个,我希望它们也保持彩色。
我想要实现的正是这个:如何使用 JavaScript 代码在活动 li 上添加类 但它对我不起作用,也许我需要更改 javascrip 中的某些内容,因为我的类被命名为“navbar”?
我已经从这个主题中尝试了几个关于堆栈溢出的解决方案,但这些方法都不适合我:\
HTML:
<ul class="navbar">
<li><a href="sajt.html">Pocetna</a></li>
<li><a href="sajt2.html">Stranica 2</a></li>
<li><a href="sajt3.html">Stranica 3</a></li>
<li style="float: right;"><a href="sajt4.html">Kontakt</a></li>
</ul>
CSS:
.navbar {
list-style-type: none;
position: sticky;
top: 0;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #333;
}
.navbar li {
float: left;
}
.navbar li a {
display: block;
color: white;
text-align: center;
padding: 14px 16px;
text-decoration: none;
font-family: Arial;
}
.navbar li a:hover {
background-color: #111;
}
当我在该页面上时,我希望链接保持橙色。
解决方案
你可以用 jquery 做一些事情,比如添加一个事件监听器来改变 html 元素的 css
const changeColor = () => {
$('ul > li > a').css('background-color', 'inherit')
$(event.target).css("background-color", "red")
}
$('ul > li > a').on('click', changeColor)
推荐阅读
- mysql - 可变形字段不适用于 Laravel DB::Select() 语句
- excel - 将范围格式化为表格
- python - 循环通过python中的API调用分页
- thingsboard - ThingsBoard 遥测增量计算问题在多个带有时间戳的历史消息中
- node.js - 快递路线仍然返回从 mongodb 中删除的项目
- java - 如何遍历树中的每个值?
- heroku - 我们的网站已移至专用的 WPEngine,从那时起我们从 herokuapp 获得 403,我需要将新服务器列入白名单吗?
- file-upload - 将本地文件上传到 GraphDB
- request - 无法通过 CANoe 上的 CAPL 发送原始电报请求
- c++ - 没有初始化列表(低于 c++ 11)的 c++ 继承(无基本构造函数)?