2012-04-27 11 views
1

これは私の最初の質問stackoverflowで、うまくいけば私の質問に答えるのを助けることができる人がいます。動き/動き/活動が検出されたときに要素を表示する、つまりJavaScriptで

ここに私の質問があります:どのように動き/動き/活動が検出されたとき(つまり、jQuery/MooToolsを使ってJavascriptによって)divを表示または非表示にするか、または何らかのアクションを呼び出すことができます。

gmailがこれを利用していることがわかっています。たとえば、あなたが長時間非アクティブになっていると、あなたのステータスは非アクティブとして表示されます。また、マウスを使ってGmailのページの本体に移動すると、ステータスが非アクティブからオンラインに変更されます。

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

おかげで、 レオBehrutt

答えて

2

document.body.onmousemoveにリスナーを接続します。私は大きな成功と似た何かを使用しています。

もちろん、移動し続けると発火し続けますので、猶予期間が必要ですか?

(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回イベントを発生させるはずです。

+0

Fritsさん、ありがとうございました。 – user1361889

関連する問題