1

これはスタックオーバーフローに関する私の最初の質問です。うまくいけば、私の質問に答えるのを手伝ってくれる人がいます。

ここに私の質問があります: 移動/モーション/アクティビティが検出された場合 (つまり、jQuery/MooTools を使用した Javascript によって)、div を表示または非表示にしたり、アクションを呼び出したりするにはどうすればよいですか。

gmailがそれを利用しているため、たとえば、長期間非アクティブである場合、ステータスが非アクティブとして表示されるため、可能であることはわかっています。また、Gmail ページの本文にマウスを移動すると、ステータスが非アクティブからオンラインに変わります。

私のニーズを満たすスクリプトを認識してくれる人がいるといいのですが。

前もって感謝します、レオ・ベールット

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 秒ごとに 1 回イベントが発生するはずです。

于 2012-04-27T19:47:39.590 に答える