javascript - 每次单击按钮时如何更改颜色?
问题描述
当我单击按钮时,我希望每次单击时都会更改主体颜色
但它只改变了一次。如果我再次单击,颜色不会改变。
我不知道我的代码有什么错误?
let click = document.querySelector('.click');
let random_color = "#" + Math.floor(Math.random() * 16777215).toString(16);
click.addEventListener('click', () => {
color();
})
function color() {
document.body.style.backgroundColor = random_color;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 90vh;
}
<button class="click">click</button>
解决方案
只需将函数外部的随机颜色变量形式移动到color()
函数内部即可color()
。
这是片段:
let click = document.querySelector('.click');
click.addEventListener('click', () => {
color();
})
function color() {
let random_color = "#" + Math.floor(Math.random() * 16777215).toString(16);
document.body.style.backgroundColor = random_color;
}
body {
display: flex;
justify-content: center;
align-items: center;
min-height: 90vh;
}
<button class="click">click</button>
推荐阅读
- java - setAdapter 使应用程序崩溃
- android - 分析屏幕并发送点击
- python - 地图函数中的 TensorFlow Dataset API 张量评估
- angularjs - 构建android时fullcalendar的离子错误
- oracle - 在oracle中匹配后提取子字符串
- c++ - 将鼠标悬停在图片框上时,如何显示带有 xy 坐标的十字光标?
- r - 平滑 roc 对象多次迭代错误 is.unsorted(roc$specificities)
- amazon-web-services - AWS 架构 - Web 应用程序(图表)
- c++ - Q_GADGET 可以是其他 Q_GADGET 的属性吗?
- python - HDD4780 LCD 显示十六进制字符不工作 [Python]