Основываясь на ответе @ Jacob, вы можете использовать флаг и через некоторое время установить его на false
.Вы можете сохранить свою функцию, которая запускает данные в фоновом режиме, и проверить этот флаг:
var active = true;
var current_timeout = null;
function idle() {
active = false;
current_timeout = null;
}
$('#feed').mousemove(function(){
// maybe another event that does not
// constantly fire (but often enough) is enough
active = true;
if(current_timeout !== null) {
window.clearTimeout(current_timeout);
}
timeout = window.setTimeout(idle, 180000); // mark not active after 3 minutes
});
window.setInterval(function() {
if(active) {
//get data
}
), 300000);
Я не уверен, хотя, если нет необходимости в запуске интервала, хотя пользователя нет на странице(хотя это ничего не даст, пока active
неверно).Вы должны проверить это.