1

这是我关于stackoverflow的第一个问题,希望有人可以帮助回答我的问题。

这是我的问题:当检测到运动/运动/活动时(即使用 jQuery/MooTools 的 Javascript),我如何显示或隐藏 div,或要求任何操作。

我知道这是可能的,因为 gmail 会利用它,例如,当您长时间不活动时,您的状态将显示为不活动。当您将鼠标移到 gmail 页面的主体上时,状态将从非活动变为在线。

所以希望有人能认出满足我需求的脚本。

在此先感谢, Leo Behrutt

4

1 回答 1

2

将侦听器附加到document.body.onmousemove. 我正在使用类似的东西并取得了巨大的成功。

document.body.onmousemove = function () {
    console.log("hey, you moved!");
}

当然,如果你继续移动,这将继续触发,所以也许你想要一个宽限期?

(function () {
    var in_grace = false; timout_set = false, grace = 5 * 1000; // 5 seconds
    document.onmousemove = function () {
        if (false === in_grace) {
            in_grace = true;
            timout_set = false;
            console.log("hey, you moved!");    // <-- your code here
        } else if (false === timout_set) {
            timout_set = true;
            setTimeout(function () {
                in_grace = false;
            }, grace);  // set in_grace to false after grace seconds
        }
    }
}());

这应该最多每 5 秒触发一次事件。

于 2012-04-27T19:47:39.590 回答