2016-12-10 6 views
2

各クリックで背景色を変更しようとしています。JavaScriptイベント(クリック)、各クリック時

var button = document.querySelector("button"); 
var body = document.querySelector("body"); 
var color = true; 

button.addEventListener("click", function(){ 
    if(color){ 
     body.style.backgroundColor = "purple"; 
     color != color; 
    } 
    else if (!color){ 
     body.style.backgroundColor = "green"; 
    } 
}); 
+0

でそれを置き換えることができますか? –

+0

'color!= color;'を 'color = false'に修正し、\関数を' function(){color? body.style.backgroundColor = "purple":body.style.backgroundColor = "green"; }; '全部。 –

答えて

3

小さな変更です。クリックごとに変数を切り替える必要があります。 あなたはif elseを取り除くことで、さらにあなたのコードを簡素化し、あなたのコードが間違って何else

var button = document.querySelector("button"); 
var body = document.querySelector("body"); 
var color = true; 

button.addEventListener("click", function() { 
    if (color) { 
    body.style.backgroundColor = "purple"; 
    } else { 
    body.style.backgroundColor = "green"; 
    } 
    // or equivalent with a ternary operator: 
    body.style.backgroundColor = color ? "purple" : "green"; 

    // color != color is a comparison, but you want an assignment: 
    color = !color; 
}); 

Check Fiddle

+0

私は、私が間違って比較を使用していたことを知っていた、私はちょうどそれに私の指を置くことができなかった:D –

関連する問題