2009-05-30 8 views
2

Ich habe dieses Skript, das im Grunde eine bgColor-Klasse ein- und ausschaltet, so dass der Hintergrund beim ersten Klick auf schwarz wechselt und dann beim zweiten Klick auf die leere Standardklasse zurückkehrt. Ich versuche herauszufinden, warum der Hintergrund in Opera 9.64 beim dritten Klick der Schaltfläche schwarz bleibt und nur der Hintergrund um die Schaltfläche die Farbe ändert.Ändern der Körperelementklasse in Opera

<style> 
.bgColor {background-color: #000000} 
</style> 

<button id="button">Change Class</button> 

<script> 
function changeBodyClass() { 
    var body = document.body; 
    if (body.className === "bgColor") { 
     body.className = ""; 
    } else { 
     body.className = "bgColor"; 
    } 
} 

document.getElementById("button").onclick = changeBodyClass; 
</script> 

Danke.

Antwort

1

Es scheint ein Rendering-Problem zu geben, denn wenn Sie die Größe von Opera ändern (erzwingen, dass es neu gezeichnet wird), wird der gesamte Hintergrund wie erwartet in weiß angezeigt.

Sie etwas zu Ihrem CSS hinzufügen kann Opera zu zwingen, in diesem Körper zu denken ist in der Tat die gleiche Größe wie Ansichtsfenster:

html {margin: 0; height: 100%} 
body {margin: 0; height: 100%}