【发布时间】:2019-02-04 12:54:29
【问题描述】:
我有一个 html 文档,我想通过单击一个按钮来更改文档的背景颜色。
只要我使用“黄色”、“蓝色”、“红色”等颜色,这完全可以正常工作。
但是当我使用像“#000000”这样的十六进制颜色时,if 条件似乎没有注意到,该颜色并使用 else 函数。
如果我使用“黑色”而不是“#000000”,该功能将起作用并且背景变为红色。
我已经在 jsfiddle 上上传了工作示例。
你知道错在哪里吗?
https://jsfiddle.net/c2gv9x01/
<button>COLOR SWITCH</button>
<script>
window.onload=function(){
document.querySelector("body").style.backgroundColor = '#000000';
document.querySelector("button").addEventListener("click", color);
}
function color() {
if (document.querySelector("body").style.backgroundColor == '#000000')
{document.querySelector("body").style.backgroundColor = 'red'; }
else {document.querySelector("body").style.backgroundColor = '#000000';}
}
</script>
【问题讨论】:
-
登录
backgroundColor会看到什么? -
似乎工作正常:jsfiddle.net/8v5s06w9
-
@JonasWilms 在这个例子中如何记录背景颜色?
-
@gautam1168 谢谢,但在您的版本中,if 条件适用于单词“black”。如果我输入一个十六进制数字,它将无法再次工作。
-
您必须将颜色解析为统一的 rgb 格式。您可以使用类似 (github.com/deanm/css-color-parser-js) 的库