Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.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 使用onclick功能更改图像颜色不起作用?_Javascript_Html - Fatal编程技术网

Javascript 使用onclick功能更改图像颜色不起作用?

Javascript 使用onclick功能更改图像颜色不起作用?,javascript,html,Javascript,Html,我试着给变量color一个绿色或红色的值,然后根据给color的值给imagePath一个特定的src 从那里,我可以通过按任意一个按钮在红色和绿色之间连续切换衬衫图像 实际发生的是衬衫颜色变为红色。之后,即使我按下绿色按钮激活green()功能,它也不会变为绿色 My HTML code: <html> <head> <script src="oands.js" type="text/javascript"></script>

我试着给变量color一个绿色或红色的值,然后根据给color的值给imagePath一个特定的src

从那里,我可以通过按任意一个按钮在红色和绿色之间连续切换衬衫图像

实际发生的是衬衫颜色变为红色。之后,即使我按下绿色按钮激活
green()
功能,它也不会变为绿色

My HTML code:

<html>
<head>
    <script src="oands.js" type="text/javascript"></script>
    <script type="text/javascript">
    var color;
    function red(){color = "red"; change()}
    function green(){color = "green"; change()}

    function change()
    {
         if(color = "red")
         {
             imagePath = 'images/red-t-shirt.png';
          }
         if(color = "green")
         {
             imagePath = 'images/green-t-shirt.png';
         }
        O("shirt").src = imagePath;
    }
    </script>
    <title></title>
</head>

<body>
    <div id="wrapper">
        <div id="content">
            <img id="shirt" name="shirt" src="images/white-t-shirt.png">
            <div class="smallbox" id="redBox" onclick="red()">
                red
            </div>

            <div class="smallbox" id="greenBox" onclick="green()">
                green
            </div>
        </div>
    </div>
</body>
</html>
你应该做:

 if(color == "red")
 {
   imagePath = 'images/red-t-shirt.png';
 }
 if(color == "green")
        //^^ note the logical compare operator. Double equals
 {
   imagePath = 'images/green-t-shirt.png';
 }
此外,在这方面:

function red(){color = "red"; change();}
        //You're missing a semicolon ^^


更准确地说,如果您知道
颜色总是一个字符串,那么您应该使用
=
。有关这方面的更多详细信息,请参阅本文:

谢谢!我是这方面的初学者。这真的很有帮助,谢谢!!
function red(){color = "red"; change();}
        //You're missing a semicolon ^^