Có thể sử dụng JavaScript để đặt thuộc tính cursor
cho thuộc tính none
nếu chuột không hoạt động trong một khoảng thời gian nhất định (ví dụ: năm giây) và đặt lại thành auto
khi nó sẽ hoạt động trở lại?Ẩn con trỏ chuột khi không sử dụng JavaScript
EDIT: Tôi nhận thấy rằng none
không phải là giá trị hợp lệ cho thuộc tính cursor
. Tuy nhiên, nhiều trình duyệt web dường như hỗ trợ nó. Hơn nữa, người dùng chính cho điều này là bản thân tôi, do đó, có rất ít cơ hội nhầm lẫn phát sinh như là kết quả.
tôi đã có hai kịch bản có thể làm điều gì đó tương tự:
window.addEventListener("mousemove",
function(){
document.querySelector("#editor").style.background = "#000";
setTimeout("document.querySelector('#editor').style.background = '#fff'", 5000);
}
, true);
và
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;
}
};
Với mỗi trong số này, khi chuột không hoạt động hơn năm giây lượt màu nền màu trắng và khi con trỏ được di chuyển, nền sẽ chuyển sang màu đen. Tuy nhiên, chúng không hoạt động để làm cho con trỏ biến mất. Điều làm tôi ngạc nhiên là nếu tôi đặt lệnh document.querySelector("body").style.cursor = "none";
vào bảng điều khiển JavaScript, nó hoạt động hoàn hảo. Bên trong các kịch bản, nó dường như không hoạt động.
Tôi đã đăng các tập lệnh ở trên vì điều này là xa như tôi đã đến để làm việc này. Tôi không nhất thiết yêu cầu sửa chữa cho một trong hai kịch bản; nếu bạn biết cách ẩn con trỏ hiệu quả hơn, hãy chia sẻ.
+1 Không thực sự tốt khi gây nhầm lẫn cho người dùng với những thứ như thế này. – peol
Tôi có thể thấy một số giá trị khi thực hiện điều này nếu có một số phương tiện phát hoặc không tương tác với việc sử dụng chuột – hunter
Thậm chí nếu một thứ gì đó không tương tác với chuột, các lựa chọn thay thế là gì? Chạm? Cây bút? Cả hai sẽ ẩn con trỏ chuột bình thường anyway và thay thế nó bằng cái gì đó mất dần ngay khi bạn biết nơi bạn nhấn. Đối với người chơi phương tiện truyền thông, điều này có thể gây tranh cãi, nhưng tôi đoán ngay sau khi trình duyệt sẽ phát triển chức năng toàn màn hình cho video cũng sẽ không phải là vấn đề. Nói chung có * rất ít * lý do hợp lệ để bao giờ ẩn con trỏ chuột và đặc biệt nếu nó chỉ là một phần của màn hình (nói, trang web của bạn, hoặc một phần tử trên đó). – Joey