window.setTimeout(timeoutFunction, 500);
} else {
window.clearTimeout(timeoutFunction);
Das wird schon einmal nicht gehen. setTimeout gibt dir ein Handle zurück, das ist ein Number-Wert. Den musst du clearTimeout übergeben, um die verzögerte Ausführung abzubrechen.
http://de.selfhtml.org/javascript/objekte/window.htm#clear_timeout
https://developer.mozilla.org/en/DOM/window.clearTimeout
Ich möchte z.B. zwei Klicks puffern und dann timeoutFunction auch zweimal ausführen.
Dann erhöhe einen weiteren Counter, mit dem du die ausstehenden Durchläufe zählst. Nach einem Durchlauf verringerst du ihn um 1. Wenn er immer noch größer als 0 ist, dann startest du den Durchlauf erneut.
Mathias