Domanda

Ho questo script che alterna fondamentalmente una classe bgColor dentro e fuori in modo che i sfondo diventa nero su tasto al primo scatto e poi ritorna alla classe vuota di default sul secondo scatto. Quello che sto cercando di capire è il motivo per cui, in Opera 9.64, al 3 ° clic del pulsante, lo sfondo rimane nero e solo lo sfondo intorno al pulsante cambia colore.

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

Grazie.

È stato utile?

Soluzione

Sembra che ci sia un problema di rendering, perché quando si ridimensiona Opera (costringendolo a ridisegnare) allora apparirà tutto lo sfondo in bianco come previsto.

È possibile aggiungere qualcosa di simile al vostro CSS per forzare Opera a pensare che il corpo è in effetti la stessa dimensione di finestra:

html {margin: 0; height: 100%}
body {margin: 0; height: 100%}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top