Thomas Arns: Anzeige von Tooltipps über disable-ten Elementen

Beitrag lesen

Was ist ein element Assistent?

Kein HTML-Element. Wir haben (wie bei Office den Karl Klammer) ein nettes Männeken, welches dann einen Tooltipp anzeigt. Dieser ist als <div> definiert und wird per Javascript (un)sichtbar geschaltet.

Wie werden die Timer gestuert?

Ist der Assisitent selbst sichtbar und soll ein Tooltipp angezeigt werden, wird folgendes abgearbeitet:

function handleToolTip(sName,sVisible,iShowTime)
{
  // "Assistent" finden
  var windownavigationtop = getFrame("navigationtop").window;

var assistant_area = getObjByWindow(windownavigationtop, "assistant_area");
  var assistant_menu = getObjByWindow(windownavigationtop, "assistant_menu");

// Timer definieren
  if (assistant_area != null && assistant_menu != null) {
    if (sVisible == "visible"
     && assistant_area.style.visibility == "visible"
     && assistant_menu.style.visibility == "hidden") {
      // Löschen des vorherigen Cancel-Threads
      clearTimeout(toolTipTimerCancler);

// Nach 1 sec. erscheint der ToolTip
      toolTipTimer = setTimeout("doToolTip(""+sName+"",""+sVisible+"")",1000);

// Nach X sec. wird der ToolTip ausgeblendet
      toolTipTimerCancler = setTimeout("handleToolTip(""+sName+"","hidden")",iShowTime);
    }

if (sVisible == "hidden") {
      clearTimeout(toolTipTimer);
      doToolTip(sName,sVisible);
    }
  }
}

function doToolTip(sHinweisName,sVisible)
{
  // Tooltipp anzeigen
  if (getFrame("navigationtop") != null) {
    var windownavigationtop = getFrame("navigationtop").window;

var hinweis = getObjByWindow( windownavigationtop, sHinweisName );
    if (hinweis) {
      if (hinweis.style) {
        hinweis.style.visibility = sVisible;
      }
    }
  }
}

getObjByWindow sucht nach einer vorgegebenen ID und gibt das Objekt zurück

Hoffentlich nutzts was ...
Gruß
Thomas