Wie kann eine andere Funktion nach clearTimeout (Timer) neu gestartet werden?Neustart-Timer nach clearTimeout (Timer)
Ich habe die refreshTable() -Funktion nach 7 Sekunden Inaktivität (kein Mousemove-Ereignis) zu stoppen. Kann die Aktualisierung neu gestartet werden, wenn der Client die Maus nach der Inaktivität bewegt?
Die oberste Funktion refreshTable() möchte ich wie möglich verlassen.
//====DONT EDIT THIS FUNCTION IF POSSIBLE====
function refreshTable() {
window.clearTimeout(timer);
timer = window.setTimeout(refreshTable, 5000);
$("body").append("<p>refreshTable every 5 seconds.</p>");
}
//========
var timer = window.setTimeout(refreshTable, 0);
// If theres no activity for 7 seconds do something
var activityTimeout = setTimeout(clientInActive, 7000);
function clientResetActive(){
$("body").attr('class', 'active');
clearTimeout(activityTimeout);
activityTimeout = setTimeout(clientInActive, 5000);
//RESTART TIMER WHILE resetActive
//????????
}
// No activity do something.
function clientInActive(){
$("body").attr('class', 'clientInactive');
$("body").append("<p>clientInActive</p>");
//STOP TIMER WHILE clientInActive
clearTimeout(timer);
}
// Check for mousemove, could add other events here such as checking for key presses ect.
$(document).bind('mousemove', function(){clientResetActive()});
So etwas wie das Bild unten ist das Ziel.
Könnten Sie bitte über ein bisschen mehr klar sein, was Sie versuchen wollen, zu erreichen, zu helfen, aber nicht verstehen, was Sie brauchen! – Eladian
Die Top-Funktion (refreshTable()) Ich möchte stoppen/aussetzen, wenn der Client inActive ist. Wenn der Client (returns) die Maus bewegt, wird refreshTable() neu gestartet oder fortgesetzt. Danke – Kerry7777
"Inaktiv" ist ein Wort, also bin ich nicht sicher, camel casing es hilft jedem. Es macht es etwas schwerer IMO zu lesen, da es mich "in einem aktiven was" denken lässt. 'clientInactive' ist ein besser verständlicher Variablenname. – jdgregson