Schildi: Dummes Problem mit setTimeout Funktion

Beitrag lesen

Hallo,

Hab ein menu gebastelt, das bei mouseOver die jeweiligen Unterpunkte öffnet (divs..).

Nun baute ich eine Verzögerungsfunktion (s.u.), damit das Untermenue bei mausout nicht sofort geschlossen wird.

Bewegt man die mouse allerdings über einen neuen Hauptmenupunkt, soll das letzte menu sofort geschlossen werden und die Verzögerungsfunktion (s.u.) erneut aufgerufen werden.

Wenn ich nun jedoch sehr schnell, also sachneller als die Verzögerungsfunktion dauert zwischen zB. 2 Hpt Menupunkten hin und her fahre, verschnellert sich der Ablauf der Timeout Funktion immer mehr und somit wird das u menu immer schneller geschlossen :(.

Kann mir da jemand helfen? Wie kann ich zB. die Funktion sofort abbrechen wenn sie erneut aufgerufen wird?

--->Alles: http://www.bb-holding.com/website_fpk/index.htm  <---

---delay funktion

function delayHide(){
if(delayStop<=delaySpeed){
  if(CMactiv==0){
   delayStop++;
  }
  MenuTimeout = setTimeout("delayHide()",100);
 }

else{
  delaying = 0;
  delayStop = delaySpeed;
  getEl(thisMenuName).visibility = "hidden";
  menuHidden[ThisMenuNr] = menuContentsGeneralNames+(ThisMenuNr+1)+"_hidden";
  }
}