Beim Laden der Seite sollten wir 15 Sekunden warten und dann nach Benutzeraktivitäten in Form von Mausbewegungen suchen. Wenn eine Benutzeraktivität vorliegt, muss der Code erneut ausgelöst und 15 Sekunden auf die Benutzeraktivität gewartet werden.Wie warte ich auf ein bestimmtes Intervall, dann checke ich auf Benutzeraktivität und Feuercode und fange wieder an zu warten?
Mein bester Schuss ist unten. Ich habe ein Intervall erstellt, das die Erlaubnis gibt, alle 15 Sekunden zu überprüfen, und ein weiteres Intervall, das nach der Erlaubnis sucht und versucht, den Code bei der ersten Mausbewegung auszulösen und dann die Erlaubnis zurückzusetzen - jede Sekunde. Die erste Überprüfung ist korrekt (sie wartet 15 Sekunden und wird erst ausgelöst, wenn sich die Maus bewegt), aber dann wird der Code unabhängig von der Benutzeraktivität alle 15 Sekunden abgefeuert - allerdings nur dann, wenn das Fenster scharf ist . Ich vermute, dass mein Fehler in der Maus liegt, aber ich bin mir nicht sicher.
var allow = false;
setInterval(permission, 15000);
function permission() {
if (allow == false){
allow = true;
}
}
setInterval(function() {
$('body').one('mousemove', function() {
if (allow == true){
alert("code firing");
allow = false;
$('body').off("mousemove")
}
});
}, 1000);
Dieser scheint am vorhersehbarsten zu funktionieren. Mein Gehirn wird zu Spaghetti, wenn ich mit Timern arbeiten muss! Danke für die Bemühung. – jordy