JSFiddle - React, Tailwind, and code Playground
JavaScript
function waitForMsg(){
if( !window_focus || ( new Date().getTime() - lastMouseMoveTime ) > 5*1000 ){
window_focus = false;
console.log("stoping");
return;
}
console.log("running");
setTimeout(waitForMsg, 100);
}
var window_focus = true, lastMouseMoveTime;
lastMouseMoveTime = new Date().getTime();
// Check focal point
$(window).focus(function () {
if (window_focus) {
return
}
window_focus = true;
waitForMsg();
}).blur(function () {
if (!window_focus) {
return
}
window_focus = false;
console.log('Init Suspension...');
// Set Timeout
});
waitForMsg();
$(document).mousemove(function(){
console.log("mousemove");
if(!window_focus ){
window_focus = true;
waitForMsg(); // restarting ajax if it stopped because of mousemove.
}
lastMouseMoveTime = new Date().getTime();
});