如果鼠标在一段时间内(例如,五秒)处于非活动状态,是否可以使用 JavaScript 将属性设置为cursor
属性并将其设置回它再次变为活动时的状态?none
auto
编辑:我意识到这不是该属性none
的有效值。cursor
尽管如此,许多网络浏览器似乎都支持它。此外,这个的主要用户是我自己,因此产生混淆的可能性很小。
我有两个可以做类似事情的脚本:
window.addEventListener("mousemove",
function(){
document.querySelector("#editor").style.background = "#000";
setTimeout("document.querySelector('#editor').style.background = '#fff'", 5000);
}
, true);
和
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;
}
};
对于这些中的每一个,当鼠标处于非活动状态超过 5 秒时,背景颜色变为白色,而当光标移动时,背景变为黑色。但是,它们不适用于使光标消失。令我惊讶的是,如果我将命令document.querySelector("body").style.cursor = "none";
放入 JavaScript 控制台,它就可以完美运行。在脚本内部,它似乎不起作用。
我已经发布了上面的脚本,因为这是我已经开始让它工作了。我不一定要求修复任何一个脚本。如果您知道隐藏光标的更有效方法,请分享。