2012-04-27 35 views
1

這是我在stackoverflow上的第一個問題,希望有人可以幫助解答我的問題。顯示檢測到移動/動作/活動時的元素,即使用javascript

這裏是我的問題:如何檢測到移動/動作/活動時(即使用jQuery/MooTools的Javascript)顯示或隱藏div或調用任何操作。

我知道這是可能的,因爲gmail會利用它,例如,當您長時間處於非活動狀態時,您的狀態將顯示爲非活動狀態。當你用鼠標移動到gmail頁面的正文時,狀態將從非活動狀態變爲在線狀態。

所以希望有人能夠識別符合我需求的腳本。

由於提前, 利奧Behrutt

回答

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秒鐘最多發射一次事件。

+0

謝謝Frits,工作出色! – user1361889 2012-04-28 15:20:46