2016-06-07 13 views
1

Die Funktion soll die Zahl x bei jedem Start um 1 erhöhen. Dadurch wird der Code gezwungen, beim nächsten Start eine andere Option zu wählen.Warum ändert dieses Javascript nicht erfolgreich den Hintergrund beim zweiten Mouseover?

function changeBackground() { 
    var x = 0; 
    if (x % 2 === 0) { 
    document.getElementById("sample").style.backgroundColor = "purple"; 
    } 
    else { 
    document.getElementById("sample").style.backgroundColor = "white"; 
    } 
    x++; 
} 
var x = document.getElementById("sample"); 
x.onmouseover = changeBackground; 

Dies ist grabbing nur eine Überschrift und Einleitung changeBackground der Cursor jedes Mal auf sie gesetzt wird. Die Hintergrundfarbe bleibt auf lila.

Antwort

0

, weil Sie es auf 0 gesetzt jedes Mal am Anfang der Funktion .. Sie müssen außerhalb der Funktion der Variable setzen

var x = 0; 
function changeBackground() { 
if (x % 2 === 0) { 
document.getElementById("sample").style.backgroundColor = "purple"; 
} 
else { 
document.getElementById("sample").style.backgroundColor = "white"; 
} 
x++; 
} 
var x = document.getElementById("sample"); 
x.onmouseover = changeBackground; 
+0

, dass das Problem ist, danke. Ich bemerkte auch, dass ich x zweimal deklarierte. – DSATH