Ich habe den folgenden JavaScript-Code geschrieben. Ich benutze es um zu erkennen, wann sich die Maus bewegt und wann sie angehalten hat. MouseStopped () -Funktion ist eine Schleife von Hunderten von Elementen, die mir sagen, wo die Maus gestoppt wurde, also möchte ich es nur aufrufen, wenn die Maus angehalten hat.
%Vor%Jetzt habe ich folgende Probleme:
clearInterval(CheckMovement)
anrufe, tut es das nicht
höre auf zu iterieren; es läuft ständig, was das Problem verursacht
MouseStopped()
mehrmals aufrufen. Warum hört es nicht auf?
MouseStopped()
in der Mitte seiner Operation unterbrechen, wenn die Maus bewegt wird, bevor sie die Schleife beendet hat. Deshalb stelle ich stopLoop = true;
ein. Das scheint aber auch nicht so zu funktionieren wie beabsichtigt. Wie kann ich diese erreichen?
Danke.
EDITS
Es ist wirklich einfach: Wenn die Maus bewegt wird, setze ein Timeout für XXX Millisekunden in der Zukunft. Löschen Sie auch vergangene Timeouts, um die Zeit zurückzusetzen. Wie dies im Mauszeiger Listener
%Vor%Siehe JSFiddle .
Tags und Links javascript mouseevent mousemove