【发布时间】:2022-01-10 10:12:37
【问题描述】:
我有一个“白色”按钮,我很好奇如何使“#White”按钮下的文本在单击后自动生成,而不是像下面的示例中那样硬编码。例如按下按钮后显示为“#000000”。
const buttonColor = document.querySelector("[data-buttColor]");
const pEl = document.querySelector("[data-colorCode]");
const background = document.querySelector("[data-background]");
const buttonColorWhite = document.querySelector("[data-buttColorWhite]");
const buttonColorBlack = document.querySelector("[data-buttColorBlack]");
buttonColor.addEventListener("click", () => {
let color = "#";
color += Math.random().toString(16).slice(2, 8);
background.style.backgroundColor = color;
pEl.innerText = color;
console.log(color)
})
buttonColorWhite.addEventListener("click", () => {
let colorWhite = background.style.backgroundColor = "white";
let color = "#white";
pEl.innerText = color;
console.log(color)
})
buttonColorBlack.addEventListener("click", () => {
let colorWhite = background.style.backgroundColor = "black";
let color = "#black";
pEl.innerText = color;
console.log(color)
})
<div class="text-center text-white animate__animated animate__flipInX">
<button data-buttColor class="btn btn-primary btn-lg mt-3">Random color</button>
<button data-buttColorWhite class="btn btn-primary btn-lg mt-3">White color</button>
<button data-buttColorBlack class="btn btn-primary btn-lg mt-3">Black color</button>
<p data-colorCode>The color is</p>
<p data-background> </p>
</div>
【问题讨论】:
-
题外话:
#000000是黑色而不是白色 -
您能否添加一些说明您的脚本应该做什么?您希望
.innerText是颜色的十六进制值而不是字符串?还是别的什么? -
@Andreas 是的,我想要颜色的十六进制值而不是字符串。
标签: javascript