Запуск некого события при не активности пользователя сайта (jQuery)

Иногда бывает нужно определить отсутствие пользователя в течении некоторого времени (например, чтобы поставить статус «Отошел»). Мы будем считать активность пользователя — перемещение указателя мыши, нажатие на клавиатуру и движение скрола мыши:

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


Запись навигация

Top