javascript - 使用按钮更改多个 div 的边框颜色
问题描述
我对此完全陌生,并且正在编写一个脚本,该脚本将在单击按钮时更改正文背景颜色和一些 html div 的边框颜色。
我可以通过单击按钮将主体背景颜色更改为随机颜色,但现在我被困在如何使用单独的按钮对所有 div 边框执行相同操作,并且所有 div 具有不同的类名,我想同时将它们全部更改为相同的随机颜色。
任何对我有帮助的想法,或者如果你能指出我正确的方向,我将不胜感激。
var button2 = document.getElementById("button2");
var allchar = "0123456789ABCDEF";
button2.addEventListener("click", myFun);
function myFun() {
var randcol = "";
for (var i = 0; i < 6; i++) {
randcol += allchar[Math.floor(Math.random() * 16)];
}
document.body.style.backgroundColor = "#" + randcol;
}
.hud-menu-1 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-2 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-3 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-4 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-5 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
<div class="hud-menu-1" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-2" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-3" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-4" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-5" style="text-align:center">
Text Here
</div>
<br>
<button id="button1">click me to change border color</button>
<button id="button2">click me to change background color</button>
解决方案
使用代码如下:
document.getElementsByClassName("hud-menu-"+i)[0].style.borderColor = "#" + randcol;
这里:
var button2 = document.getElementById("button2");
var allchar = "0123456789ABCDEF";
button2.addEventListener("click", myFun);
function myFun() {
var randcol = "";
for (var i = 0; i < 6; i++) {
randcol += allchar[Math.floor(Math.random() * 16)];
}
document.body.style.backgroundColor = "#" + randcol;
}
function changeBorder(){
var randcol = "";
for (var i = 0; i < 6; i++) {
randcol += allchar[Math.floor(Math.random() * 16)];
}
for (var i = 1; i < 6; i++) {
document.getElementsByClassName("hud-menu-"+i)[0].style.borderColor = "#" + randcol;
}
}
.hud-menu-1 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-2 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-3 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-4 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
.hud-menu-5 {
border-style: solid;
border-radius: 4px;
border-color: red;
}
<div class="hud-menu-1" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-2" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-3" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-4" style="text-align:center">
Text Here
</div>
<br>
<div class="hud-menu-5" style="text-align:center">
Text Here
</div>
<br>
<button id="button1" onclick="changeBorder()">click me to change border color</button>
<button id="button2">click me to change background color</button>
推荐阅读
- javascript - 如何在 Javascript 中创建一个从数组设置超时的 for 循环?
- php - 在特定页面上搜索 wordpress
- itext - 使用 iTextSharp 在当前上下文中不存在名称“颜色”
- php - 如何获取行的id并在php中的物化模式中显示
- laravel - LARAVEL 根据 Curl 请求自动切换数据库
- java - Java:查询结果集到 JSON
- java - 为什么在 SpringBoot 中使用 JAXB 获取 uri' 不能为空
- ruby-on-rails - 活动 scffold + 回形针,显示来自 S3 的文档
- android - build.gradle:为 sdk 版本 27 添加播放服务依赖项时出错
- html - Safari上动画失败的绝对定位