clearTimeout(timer)の後に他の機能を再起動するにはどうすればよいですか?clearTimeout(timer)の後に再起動するタイマー
私はrefreshTable()関数を7秒間使用しないと停止します(mousemoveイベントなし)。クライアントが非アクティブの後にマウスを動かすと、リフレッシュを再開できますか?
top関数refreshTable()できるだけそのまま残したいと思います。
//====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()});
下の画像のようなものが目標です。
:これを試してみてください! – Eladian
トップ・ファンクション(refreshTable())クライアントが非アクティブのときに停止/一時停止したいと考えています。 クライアントが戻ると、マウスが移動し、refreshTable()が再起動または続行されます。 ありがとう – Kerry7777
"Inactive"は単語なので、私はラクダがそれを助けているかどうかはわかりません。それはIMOを読むのが少し難しくなります。なぜなら、私は「活発なもの」と思うからです。 'clientInactive'はもっと分かりやすい変数名です。 – jdgregson