Запуск события при бездействии пользователя
В некоторых случаях бывает необходимо идентифицировать отсутствие пользователя в течении заданного времени (например, чтобы автоматически поставить пользователю статус "Отошел"). Будем считать активностью пользователя движение мышью, нажатие на клавиши клавиатуры и движение скролла:
idleTimer = null; idleState = false; // состояние отсутствия idleWait = 2000; // время ожидания в мс. (1/1000 секунды) $(document).ready( function(){ $(document).bind('mousemove keydown scroll', function(){ clearTimeout(idleTimer); // отменяем прежний временной отрезок if(idleState == true){ // Действия на возвращение пользователя $("body").append("<p>С возвращением!</p>"); } idleState = false; idleTimer = setTimeout(function(){ // Действия на отсутствие пользователя $("body").append("<p>Вы отсутствовали более чем " + idleWait/1000 + " секунд.</p>"); idleState = true; }, idleWait); }); $("body").trigger("mousemove"); // сгенерируем ложное событие, для запуска скрипта });