jQuery, если пользователь активен;перезагрузить div, остановить перезагрузку, если пользователь неактивен - PullRequest
1 голос
/ 27 октября 2011

У меня есть следующий сценарий.Мой твиттер должен обновляться каждые 5 секунд (с помощью функции load ()).Хотя я следил за своей пропускной способностью, и она действительно сильно отстой.

Моя идея состояла в том, чтобы перестать обновлять, как только пользователь переходит в неактивное состояние (скажем, 5 или 10 секунд без взаимодействия на странице).Я попробовал несколько плагинов, но безуспешно.

Обновление происходит следующим образом:

setInterval(function() { $("#feed").load("feed.php"); }, 5000);

Это должно остановить обновление, но плагины, которые я пробовал, просто продолжали обновлять (с интервалом).1008 *

Есть ли способ добиться этого?Я попробовал следующие плагины: - http://www.bedroomlan.org/coding/detecting-‘idle’-and-‘away’-timeouts-javascript - http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 27 октября 2011

Самый простой способ - использовать плагин idleTimer jQuery.

Одной из его возможностей является получение количества времени с момента последней активности пользователя. Позволяет написать следующий код.

setInterval(function () { 
  if ($.idleTimer('getElapsedTime') < 5000) {
    $("#feed").load("feed.php");
  }
}, 5000);
1 голос
/ 27 октября 2011

Как насчет отслеживания, где находится мышь?Каждые 5 секунд или всякий раз, чтобы увидеть, совпадают ли координаты мыши, как они были в предыдущей проверки.Если они одинаковые, то предположим, что мышь не двигалась.Тогда не обновляйте свой канал.Если они разные, обновите ваш канал.

Просто мысль.

...