javascript - 如何更改下拉菜单中的特定背景颜色
问题描述
我正在创建一个下拉菜单或列表(不知道有什么区别),我想让它成为当有人选择他想要查看的内容并单击图像时,背景图像改变颜色,直到他会改变页面的内容时,他最终会点击其他图像来选择内容。我现在将在此处粘贴一些图像,让您了解我的意图。系统与背景颜色相同
现在页面显示系统的内容颜色改变了,即使用户点击内容固有的其他东西,颜色也不会改变
真诚地,我真的不知道什么代码可以帮助我解决这个问题,无论是 CSS 还是 javascript。我不会假装你像工人和老板一样回答我,当然不是,即使是简单的关于指导我的建议也可以。
{
.system-rectangle{
top: 180px;
left: 0px;
width: 120px;
height: 120px;
background: #405D6C 0% 0% no-repeat padding-box;
opacity: 1;
}
.system-image{
top: 194px;
left: 25px;
width: 70px;
height: 56px;
opacity: 1;
}
.system-text{
top: 260px;
left: 0px;
width: 119px;
height: 26px;
text-align: center;
font: Regular 16px/21px Oswald;
letter-spacing: 0;
color: #FFFFFF;
opacity: 1;
}
这是关于系统矩形背景、图像和文本的信息。如果您质疑为什么图像没有“背景”是因为我删除了它,因为它有个人信息。
解决方案
我想你想要一个 html、css 和 js 解决方案。
您可以给列表项一个活动类,然后在 css 中您将能够给它一个不同的背景。使用 JavaScript,您可以在单击项目时将项目的类更改为活动。
HTML:
<nav>
<ul>
<li class="system-rectangle active" onclick="changeActive(this)">System</li>
<li class="system-rectangle" onclick="changeActive(this)">Troubleshooting</li>
<li class="system-rectangle" onclick="changeActive(this)">Other</li>
</ul>
</nav>
CSS:
.system-rectangle{
top: 180px;
left: 0px;
width: 120px;
height: 120px;
background: #405D6C 0% 0% no-repeat padding-box;
opacity: 1;
}
.active{
background-color: lightblue;
}
JS:
function changeActive(elem){
document.getElementsByClassName("active")[0].classList.remove('active');
elem.classList.add('active');
}
这只是一个例子。这段代码可以写得更好,但如果你提供你的代码,那么给出一个实际的例子会更容易。
您可以查看实际代码:Codepen
推荐阅读
- java - 在 Spring security 中为不同的 antMacher 添加不同的过滤器
- java - JSON没有在邮递员中显示它应该如何
- java - 比较两个 java List 并将元素添加到最终列表?
- mysql - 在查询视图时模拟 row_number 会显着影响性能
- r - Dplyr:捕获惰性查询的输出
- android - 找不到导入 android.support.v7.app.AppCompatActivity
- ms-access - 如何在 dlookup 字段中输入数据?
- python - 无法从 flow_from_dataframe 进行训练得到了意外没有。类
- java - LinearLayout - 在 TextView 之后添加 TableLayout
- html - 如何通过 XPath 中的子属性选择前兄弟元素