uwe: verzögerter Funktionsaufruf (Timer)

Beitrag lesen

hallo,

folgendes Problem:
Ich möchte eine JavaScript funktion aufrufen, nachdem der benutzer die maus über einem element eine bestimmte zeit nicht mehr bewegt hat.

quasi wie ein toolTip. Nach einer Sekunde erscheint ein alternativer text in einem kleinen rechteck. Als rechteck will ich ein div verwenden und per absoluter position am mauszeiger positionieren.

wie erreiche ich aber das verzögerte auslösen der funktion?

das funktionsgerüßt sieht folgendermaßen aus:

function MouseMoveHandling()
{
  x = mauspos;
  y = mauspos;

ZeigePositionInFormularfeldernAn();

ShowToolTip(x, y);
}

function ShowToolTip(x, y)
{
  element.top ...
  element.left ...

element.innerText = ...
}

dabei wird aber bei jeder mausbewegung sofort der tooltip angezeigt. Ich möchte ihn aber gerne verzögert einblenden.

ansatz:

  • mausbewegung
  • speichere koordinaten
  • warte eine sekunde
  • vergleiche aktuelle position mit der gespeicherten
    -  funktionsaufruf
    -  oder bei ungleich - speichere aktuelle koordinaten

mit bereitet das eine sekunde warten probleme.