jQuery - 检测"x"分钟没有动作并在该事件上运行函数(X分钟内没有事件)

Ila*_*sda 9 jquery

如何检测该用户对此事件的"X"分钟和运行功能没有做任何事情?

例如

if( // no action from user for 'X' minutes) { //do stuff } ??

任何建议都非常感谢.

Lok*_*tar 18

现场演示

像其他人一样声明使用setTimeout并将其设置为所需的等待时间.如果有任何活动,只需清除超时使用clearTimeout.

// If theres no activity for 5 seconds do something
var activityTimeout = setTimeout(inActive, 5000);

function resetActive(){
    $(document.body).attr('class', 'active');
    clearTimeout(activityTimeout);
    activityTimeout = setTimeout(inActive, 5000);
}

// No activity do something.
function inActive(){
    $(document.body).attr('class', 'inactive');
}

// Check for mousemove, could add other events here such as checking for key presses ect.
$(document).bind('mousemove', function(){resetActive()});
Run Code Online (Sandbox Code Playgroud)


SLa*_*aks 6

设置X分钟超时.

<body>'s keydown和mousemove事件中,清除超时并再次设置它.