Ausblenden des Mauszeigers im Leerlauf mit JavaScript

Ist es möglich, JavaScript zu verwenden, um die cursor - Attribut der Eigenschaft none wenn die Maus inaktiv ist für eine bestimmte Zeit (etwa fünf Sekunden), und setzen Sie es zurück auto wenn es wieder aktiv ist?

EDIT: ich merke, dass none ist kein Gültiger Wert für die cursor Eigenschaft. Dennoch, viele web-Browser scheinen zu unterstützen es. Außerdem werden die primären Benutzer für diese selbst ist, so gibt es kaum eine chance der Verwirrung, die sich als Ergebnis.

Habe ich zwei Skripte, die etwas ähnliches tun:

window.addEventListener("mousemove",
    function(){
        document.querySelector("#editor").style.background = "#000";
        setTimeout("document.querySelector('#editor').style.background = '#fff'", 5000);
    }
, true);

und

var timeout;
var isHidden = false;

document.addEventListener("mousemove", magicMouse);

function magicMouse() {
    if (timeout) {
        clearTimeout(timeout);
    }
    timeout = setTimeout(function() {
        if (!isHidden) {
            document.querySelector("body").style.cursor = "none";
            document.querySelector("#editor").style.background = "#fff";
            isHidden = true;
        }
    }, 5000);
    if (isHidden) {
        document.querySelector("body").style.cursor = "auto";
        document.querySelector("#editor").style.background = "#000";
        isHidden = false;
    }
};

Mit jedem von Ihnen, wenn die Maus inaktiv ist für mehr als fünf Sekunden die Hintergrundfarbe weiß wird, und wenn der cursor bewegt wird, der hintergrund wird schwarz. Jedoch, Sie arbeiten nicht für die Herstellung der cursor verschwinden. Was mich wundert ist, dass wenn ich den Befehl document.querySelector("body").style.cursor = "none"; in der JavaScript-Konsole funktioniert es perfekt. Innerhalb des scripts, es scheint nicht zu funktionieren.

Habe ich das oben geschrieben scripts, wie das ist, soweit ich es kommen immer diese arbeiten. Ich bin nicht unbedingt Fragen, für ein fix für die Skripte; wenn Sie wissen, dass ein effizienter Weg, versteckt den cursor, bitte teilen.

InformationsquelleAutor | 2010-07-28
Schreibe einen Kommentar