Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript if语句问题,以及如何在jquery中验证颜色_Javascript_Jquery_Html - Fatal编程技术网

Javascript if语句问题,以及如何在jquery中验证颜色

Javascript if语句问题,以及如何在jquery中验证颜色,javascript,jquery,html,Javascript,Jquery,Html,我在写一个井字游戏。规则是一样的,有一个红色球员和一个蓝色球员。唯一的区别是在玩家的第四步,他们的第一个盒子将恢复为白色,所以每个玩家最多只能有三个标记为他们的盒子(红色或蓝色) 这是我的html代码: <html> <head> <link type="text/css" rel="stylesheet" href="game.css"/> <script src="http://ajax.googleapis.

我在写一个井字游戏。规则是一样的,有一个红色球员和一个蓝色球员。唯一的区别是在玩家的第四步,他们的第一个盒子将恢复为白色,所以每个玩家最多只能有三个标记为他们的盒子(红色或蓝色)

这是我的html代码:

    <html>
    <head>
      <link type="text/css" rel="stylesheet" href="game.css"/>
      <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
      <script type="text/javascript" src="game1.js" ></script>
      <title> TicTacToe </title>
    </head>
  <center>
    <body>
      <h1> Tic Tac Toe! </h1>
      <table>
        <tr>
          <td><canvas id = "canvas1" onclick="canvasClicked(1)"></canvas></td>
          <td><canvas id = "canvas2" onclick="canvasClicked(2)"></canvas></td>
          <td><canvas id = "canvas3" onclick="canvasClicked(3)"></canvas></td>
        </tr>
        <tr>
          <td><canvas id = "canvas4" onclick="canvasClicked(4)"></canvas></td>
          <td><canvas id = "canvas5" onclick="canvasClicked(5)"></canvas></td>
          <td><canvas id = "canvas6" onclick="canvasClicked(6)"></canvas></td>
        </tr>
        <tr>
          <td><canvas id = "canvas7" onclick="canvasClicked(7)"></canvas></td>
          <td><canvas id = "canvas8" onclick="canvasClicked(8)"></canvas></td>
          <td><canvas id = "canvas9" onclick="canvasClicked(9)"></canvas></td>
        </tr>
      </table>

      <button type="button" id = "reset">Reset</button>

    </body>
  </center>

</html>
我想应该是这样

if (c.style.color == "white") {
它适用于单个的
=
,但当我将它设为双等于
=
时,它就不起作用了,这是为什么?(另外,如果(c.style.color=white),它在
中检查什么?是检查它有颜色,还是将它设置为白色?两者都有?)当它只有一个
=
时,它不检查它是否为白色,所以我可以单击它一次,使其为红色,然后再次单击它使其为蓝色。这不应该发生在
==
;但是有了
==
画布就会保持白色

另外,我正在尝试实现jQuery,因此我想将第一条if语句进一步修改为:

$(document).ready(function(){
    $("canvas").click(function(){
        if ($(this).css("background-color) == "white"){
但是,我没有成功,我也尝试过:

if ($(this).css("background-color) == "rgb(256, 256, 256)"){
也没有成功。我添加了一个
警报($(this).css(“背景色”)
,以确保我单击了各个画布(似乎我在单击之后出现了一个警报/弹出框),但似乎从未调用if语句。我想这可能与if语句不起作用有关


任何反馈/建议都将不胜感激。对代码其他部分的任何建议也将非常好。谢谢。

当我调查这个问题时,我发现您的语句“c.style.color”或“c.style.backgroundcolor”总是返回空值。这就是为什么您的if条件不能正常工作的原因

您只需在if条件中添加一个或多个语句,如下所示,即可正常工作

   if (c.style.backgroundColor == "white" || c.style.backgroundColor == "") {
}

谢谢,如果对您有帮助,请将其标记为正确。

if(c.style.color=“white”)
覆盖c.style.color的值,结果成功:true if语句中的
=
c.style.color
的值设置为
white
,而
=
检查
c.style.color
是否为
white
。赋值的返回值(=)始终是指定的值。在您的情况下,剥离的if将看起来像
if(“white”)
。在JS中,这将被视为true。谢谢各位,那么当我放置
if(c.style.color==“white”)时,有没有关于if语句不起作用的建议
,因为在白色画布中没有变成红色/似乎有什么作用?我只是尝试将其更改为
c.style.background
,但仍然没有。哇,谢谢!你认为这是为什么?我在.css中将画布的背景设置为
background:white
。这真的很有趣。谢谢!它现在可以工作了。
if ($(this).css("background-color) == "rgb(256, 256, 256)"){
   if (c.style.backgroundColor == "white" || c.style.backgroundColor == "") {
}