【发布时间】:2016-03-31 06:06:04
【问题描述】:
我正在尝试在猜谜游戏中比较两种 RGB 颜色。有 6 个正方形,有 6 种不同的颜色。当用户单击与pickedColor 匹配的颜色时,结果应为“正确!”。但我从来没有得到那个结果。
这是我的代码:
var colors = [
"rgb(255,0,0)",
"rgb(255,255,0)",
"rgb(0,255,0)",
"rgb(0,255,255)",
"rgb(0,0,255)",
"rgb(255,0,255)"
];
var squares = document.querySelectorAll(".square");
var pickedColor = colors[3];
var colorDisplay = document.getElementById("colorDisplay");
colorDisplay.textContent = pickedColor;
for (var i = 0; i < squares.length; i++) {
//add initinal colors to squares
squares[i].style.background = colors[i];
//add the click listener to the squares
squares[i].addEventListener("click", function () {
var clickedColor = this.style.background;
if (clickedColor === pickedColor) alert("Correct!");
else alert("Incorrect!");
});
}
【问题讨论】:
-
“它总是提醒第二个选项”是什么意思
-
您是否将返回的颜色记录到控制台?现在大多数浏览器都使用 RGBA,不能保证浏览器会返回一个看起来像你的字符串,旧浏览器可能返回十六进制,新浏览器可能返回 HSL,谁知道呢
-
@Pabs123 我认为他的意思是 clickedColor ===pickColor 总是返回 false (否则是第二条语句)
标签: javascript html colors rgb