2013-12-20 2 views
0

나는 변수의 색상에 녹색 또는 빨강 값을주고, 색상 값에 따라 imagePath에 특정 src를 제공하려고한다.onclick 기능으로 이미지의 색상이 변경되지 않습니까?

거기에서 버튼 하나를 눌러 셔츠 이미지를 빨간색과 녹색으로 계속 전환 할 수 있습니다.

실제로 발생하는 현상은 셔츠 색상이 빨간색으로 변하는 것입니다. 그 후, 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> 

oands.js의 코드는 :

function O(obj) 
{ 
    if (typeof obj == 'object') 
    return obj; 

     else 
    return document.getElementById(obj) 
} 

답변

1

당신은 수행해야합니다

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 ^^ 

더 정확하게하려면 color이 항상 문자열이되도록하려면 ===을 사용해야합니다. 자세한 내용은이 게시물을 참조하십시오. Which equals operator (== vs ===) should be used in JavaScript comparisons?

+0

고마워요! 이 초심자. 이것은 정말로 감사했다!! – user3121403

+0

@ user3121403 당신은 환영합니다 :) – gideon

관련 문제