【发布时间】:2017-05-16 17:07:59
【问题描述】:
这是 javascript 和 HTML 和 CSS 我对 javascript 很陌生,问题是 if 语句总是显示错误,即使它不应该 if 语句总是错误,即使我点击 win 变量的颜色值数组颜色的第三个索引的值显示错误
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 win =colors[3];
var winclrdisplay=document.querySelector(".winclr");
var square= document.querySelectorAll(".square");
winclrdisplay.textContent=" "+ win;
for (var i = 0 ;i < square.length ; i++){
//colors
square[i].style.background =colors[i];
// click listener
square[i].addEventListener("click", function(){
var click = this.style.background;
if (click == win){
alert("correct");
}else{
alert("wrong");
}
}
);
}
body {
background-color: #232323;
}
.square{
width: 30%;
background: purple;
padding-bottom: 30%;
float: left;
margin: 1.66%;
}
#container {
max-width: 600px;
margin: 0 auto;
}
h1 {
color:white;
}
<html>
<head>
<title>color guessing game</title>
<link rel="stylesheet" type="text/css" href="colorapp.css">
</head>
<body>
<h1>The Great <span class="winclr"></span> colour Game</h1>
<div id="container">
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
<div class="square"></div>
</div>
<script type="text/javascript" src="colorapp.js"></script>
</body>
</html>
【问题讨论】:
-
您想通过
console.log(click)来查看您实际获得了什么价值。 -
考虑将颜色写成十六进制代码,可以作为字符串进行比较
-
@CBroe:不,他/她想使用浏览器内置的强大调试器来查看他/她实际得到了什么。当您可以使用调试器打开灯时,无需使用
console.log手电筒在黑暗中跌跌撞撞。 -
当您提出问题时,文本区域右侧有一个橙色的大如何格式化框,其中包含有用的信息。还有一个完整的格式化辅助工具栏。还有一个 [?] 按钮提供格式化帮助。 并且一个预览区域位于文本区域和发布您的问题按钮之间(这样您就必须滚动过去才能找到该按钮,以鼓励您查看它)显示您的帖子发布时的样子。使您的帖子清晰,并证明您花时间这样做,可以提高您获得好答案的机会。
标签: javascript