È possibile utilizzare JavaScript per impostare l'attributo cursor
nella proprietà none
se il mouse è inattivo per un certo periodo di tempo (ad esempio, cinque secondi) e reimpostarlo su auto
quando diventa di nuovo attivo?Nascondere il cursore del mouse quando inattivo utilizzando JavaScript
EDIT: mi rendo conto che none
non è un valore valido per la proprietà cursor
. Nondimeno, molti browser Web sembrano supportarlo. Inoltre, l'utente principale per questo è me stesso, quindi ci sono poche possibilità che sorga confusione come risultato.
Ho due script in grado di fare qualcosa di simile:
window.addEventListener("mousemove",
function(){
document.querySelector("#editor").style.background = "#000";
setTimeout("document.querySelector('#editor').style.background = '#fff'", 5000);
}
, true);
e
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;
}
};
con ognuno di questi, quando il mouse è inattivo per più di cinque secondi i giri colore di sfondo bianco, e quando si sposta il cursore lo sfondo diventa nero. Tuttavia, non funzionano per far sparire il cursore. Ciò che mi sorprende è che se metto il comando document.querySelector("body").style.cursor = "none";
nella console JavaScript funziona perfettamente. All'interno degli script, non sembra funzionare.
Ho postato gli script di cui sopra in quanto questo è il modo in cui sono arrivato a farlo funzionare. Non sto necessariamente chiedendo una correzione per nessuno degli script; se conosci un modo più efficiente di nascondere il cursore, per favore condividi.
+1 Non è veramente buono UX confondere l'utente con cose come questa. – peol
Potrei vedere un certo valore nel fare questo se ci fosse un po 'di riproduzione multimediale o non fosse stato pensato per interagire con l'uso del mouse – hunter
Anche se non si intende interagire con un mouse, quali sono le alternative? Toccare? Penna? Entrambi nascondono comunque il normale puntatore del mouse e lo sostituiscono con qualcosa che svanisce non appena sai dove colpisci. Per i lettori multimediali potrebbe essere discutibile, ma immagino non appena i browser svilupperanno funzionalità a schermo intero per i video che saranno anch'esse un problema. Generalmente ci sono * pochissimi * motivi validi per nascondere il puntatore del mouse e soprattutto se si tratta solo di una parte dello schermo (ad esempio, la tua pagina web o un elemento su di esso). – Joey