Was ist der empfohlene/beste Weg, um das Erstellen mehrerer Instanzen einer setTimeout-Funktion zu verhindern (in Javascript)?Wie behandeln Sie mehrere Instanzen von setTimeout()?
Ein Beispiel (Pseudo-Code):
function mouseClick()
{
moveDiv("div_0001", mouseX, mouseY);
}
function moveDiv(objID, destX, destY)
{
//some code that moves the div closer to destination
...
...
...
setTimeout("moveDiv(objID, destX, destY)", 1000);
...
...
...
}
Mein Problem ist, dass, wenn der Benutzer die Maus mehrmals klickt, ich mehrere Instanzen von moveDiv() haben immer genannt.
Die Option, die ich gesehen habe, ist ein Flag zu erstellen, das nur erlaubt, das Timeout aufzurufen, wenn keine andere Instanz verfügbar ist ... ist das der beste Weg zu gehen?
Ich hoffe, dass es deutlich macht ....
Uhm, tatsächlich unterdrückt Ihr Code nicht wirklich mehrere Timeout "Threads". (Beachten Sie, dass das Zeitlimit in der Frage rekursiv ist.) Es wird mehr benötigt. ;) –
Wie auch immer, es war sehr hilfreich Logik, danke –