是否可以使用JavaScript来设置cursor
属性的属性none
如果鼠标在一定时间内处于非活动状态(例如五秒),请将其设置回auto
当它再次活跃时?
EDIT:我意识到none
不是有效值cursor
财产。尽管如此,许多网络浏览器似乎都支持它。此外,主要用户是我自己,因此几乎不会产生混淆。
我有两个脚本可以做类似的事情:
window.addEventListener("mousemove",
function(){
document.querySelector("#editor").style.background = "#000";
setTimeout("document.querySelector('#editor').style.background = '#fff'", 5000);
}
, true);
and
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;
}
};
对于其中每一个,当鼠标处于非活动状态超过五秒时,背景颜色会变成白色,而当移动光标时,背景颜色会变成黑色。但是,它们不能使光标消失。令我惊讶的是,如果我输入命令document.querySelector("body").style.cursor = "none";
进入 JavaScript 控制台,它运行得很好。在脚本内部,它似乎不起作用。
我已经发布了上面的脚本,因为这是我目前为止让它发挥作用的。我不一定要求修复这两个脚本;如果您知道隐藏光标的更有效方法,请分享。
在 CSS 2 中none
不是有效值cursor财产 http://www.w3.org/TR/CSS2/ui.html#cursor-props。然而,它在 CSS 3 中是有效的。
否则,您也许能够使用从简单透明的 URI 加载的自定义游标。
不过,我认为这会极大地分散用户的注意力,因此我不建议您实际这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)