Я отвечаю на это немного по-другому - так как я думаю, что всегда приятно решить проблему изящно и с максимально кратким кодом.
Этот пример делает именно то, что вы хотите, полностью работает. Он не записывает число в DOM, он хранит его в памяти в JavaScript - вы можете записать его в элемент, если хотите отобразить число, но это избавляет от необходимости извлекать его каждый раз.
Предупреждения также работают, как вы описали.
var number = 0;
var timer;
function handle_mouse_move() {
if (number > 20) {
alert("User back online, was away for approx " + number + " seconds");
}
number = 0;
}
function handle_timer() {
if (number === 20) {
alert("User away");
}
number++;
timer = window.setTimeout(function() { handle_timer(); }, 1000);
}
$(document).ready(function() {
timer = window.setTimeout(function() { handle_timer(); }, 1000);
$("*").mousemove(function(e){
handle_mouse_move();
});
});