2017-07-01 5 views
0

私は関数を作っています:clickF(= image)をクリックすると、clickFの画像はshowF(=また画像)で置き換えられます。画像のIDを与えるjavascript src

 function switchF() { 

     if (document.getElementById("clickF").src = "images site/KT.png") 
     { 
      document.getElementById("clickF").src = "images site/GM.png"; 
      document.getElementById("showF").src = "images site/KT.png"; 
     } 
      else { 
      document.getElementById("clickF").src = "images site/KT.png"; 
      document.getElementById("showF").src = "images site/GM.png"; 
     } 


    } 

私がもし状態でミスを犯しましたが、研究のちょうど2時間後、私は私の目的のために正しいものを発見していないと思います。これが実行されているとき、私の最初のクリックは動作しますが、その後通常はelseを停止させる必要があります。

答えて

2

問題はif文です。あなたは割り当てを1つだけ使用しています。 2つの要素を比較するには、===を使用する必要があります。

if (document.getElementById("clickF").src === "images site/KT.png") 
+0

奇妙なほど3 * =それ以外は何もしません。* =はTHENアクションを実行します。 –

+0

1つの等号を使用すると、それの "結果"はあなたが割り当てた文字列であり、Javascriptでは0とnull以外のすべてが "真"の値とみなされます。 – Aenadon

+0

と===何もしない?いずれにせよ、それは偽か真かのどちらかでなければならないので非常に奇妙に思えます - あなたのコンソールは何を言っていますか、エラーがありますか? – Aenadon

関連する問題