鼠标/键盘无效?如果处于活动状态则执行功能,并且仅每秒执行一次。

| 我正在使用PHP和jquery制作用户计数脚本,我想有一种方法来判断用户是否处于非活动状态。
$.mousemove(function(){
//get php to update time on user
});
但是我应该如何设置它,使其不会在每次移动时更新,而是每1秒更新一次?像这样?
$.mousemove(function(){
//get php to update time on user
$.delay(1000);    
});
然后我还将添加具有相同功能的按键功能,以便我还可以判断键盘是否处于活动状态。     
已邀请:
希望这是自我解释,并希望它能起作用!当用户移动鼠标时,这会立即通知服务器,假设没有在超过一秒钟的时间内定期通知服务器。 我们安排
activityNotification()
每秒钟运行一次(使用类似jQuery计时器或
setInterval(func, time)
函数的功能),以便尽可能快地响应以下时间轴: 0毫秒:用户移动鼠标,通知服务器 立即 657毫秒:用户按键, 但通知服务器尚为时过早 活动 1000毫秒: activityNotification()的运行方式为 预定,看到我们有 我们尚未通知的活动 服务器关于,通知服务器 2000毫秒:activityNotification()的运行方式为 预定的,但没有任何通知服务器的信息 2124毫秒:用户移动鼠标,自上次通知服务器以来的1.124秒,服务器立即收到通知 码:
//Track the last activity you saw
var lastActivity = 0;

//Remember the last time you told the server about it
var lastNotified = 0;

//Determines how frequently we notify the server of activity (in milliseconds)
var INTERVAL = 1000;

function rememberActivity() {
    lastActivity = new Date().getTime();

    activityNotification();
}

function activityNotification() {
    if(lastActivity > lastNotified + INTERVAL) {
        //Notify the server
        /* ... $.ajax(); ... */

        //Remember when we last notified the server
        lastNotified = new Date().getTime();
    }
}

setInterval(\'activityNotification()\', INTERVAL);

$.mousemove(function() {
    //Remember when we last saw mouse movement
    rememberActivity();
});

$.keyup(function() {
    //Remember when we last saw keyboard activity
    rememberActivity();
});
请记住,并非所有用户都会启用JavaScript,这会导致移动设备上的电池严重耗电。     

要回复问题请先登录注册