comunicout: clip.rect() - Abbruchbedingung

welcome to electro-smog therapy
 - - - - - - - - -

Hallo Forumler_Innen,
Ich beschäftige mich zur Zeit mit dynamischen Navigationen mittels
HTML und JavaScript. Nun habe ich eine Navigation, die direkt am
oberen Bildschirmrand platziert ist. Sie beinhaltet ein paar Haupt-
navigationspunkte, welche für sich noch Untermenüpunkte besitzen.
Diese lassen sich durch einen OnMouseOver auf einen der Hauptpunkte
dynamisch ausfahren (nach unten). Um das Ganze zu realisieren habe
ich jeden Navpunkt (inkl. seiner Unterpunkte) in einen Div gepackt
und diesen mittels style.clip =rect(bla px) so weit abgeschnitten,
dass lediglich der erste Punkt (Hauptnavigationspunkt) sichtbar ist:

Folgende Skizze soll diese mal veranschaulichen:
|------------|
|  Kontakt   | <= sichtbar
|------------|
|Unterpunkt 1| <=|
|------------|   |= mittels rect()
|Unterpunkt 2| <=|  verborgen
|------------|

Nun gut, das Menü funktioniert in so fern, dass sich die einzelnen Menüs
bereits auf- und zuklappen lassen. Nur habe ich bei der SlideIn() Funktion
ein paar Schwierigkeiten. Und zwar starte ich die funktion mit einem Timeout:
 nShow=setInterval("SlideIn(" + Div_ID + ")",50)
In setInterval wird der dritte wert von rect() (also der für 'unten')
jeweils um 1 erhöht.. bis schließlich das ganze Menü ausgefahren ist.
und hier liegt auch mein problem:
Da ich die anzahl vorhandener Untermenüs für einen Menüpunkt variabel
belassen möchte, habe ich kein korrektes Abbruchkriterium. denn die
eigentliche höhe des Divs (Menüs) ist mir ja nicht bekannt.
==>FRAGE 1:
Hört die Funktion, in der das rect() um 1 erhöht wird, automatsich auf,
sobald die maximale Größe des Divs erreicht ist ? Bzw. wird der Befehl
trotzdem ausgeführt, wenn einer der Werte höher als sein Originaler ist ?
==>FRAGE 2:
Gibgt es eine Möglichkeit die komplette Größe eines Divs - trotz dass
dieses mit rect() beschhnitten wurde - zu ermitteln ?
--
Hoffe ich konnte mich deutlich genug ausdrücken
--
Für jegliche Antworten,Fragen,Meinungen besten Dank im Voraus

mfg
comunicout

mfg
comunicout

--
  1. ein paar Schwierigkeiten. Und zwar starte ich die funktion mit einem Timeout:
     nShow=setInterval("SlideIn(" + Div_ID + ")",50)
    In setInterval wird der dritte wert von rect() (also der für 'unten')

    muss heissen
    ==> In SlideIn wird der dritte...

    mfg
    comunicout

    --
    fütter mein ego !
    welcome to electro-smog therapy
  2. Hi,

    ==>FRAGE 1:
    Hört die Funktion, in der das rect() um 1 erhöht wird, automatsich auf,
    sobald die maximale Größe des Divs erreicht ist ? Bzw. wird der Befehl
    trotzdem ausgeführt, wenn einer der Werte höher als sein Originaler ist ?

    Die Funktion würde weiterlaufen und den rect-Bereich immer weiter erhöhen. Meiner Erfahrung macht das zwar nichts am erscheinungsbild des DIVs, aber schön ist das nicht.

    ==>FRAGE 2:
    Gibgt es eine Möglichkeit die komplette Größe eines Divs - trotz dass
    dieses mit rect() beschhnitten wurde - zu ermitteln ?

    DIVobj.offsetHeight
    DIVobj.offsetWidth

    für Opera 5:
    style.pixelWidth /pixelHeight
    für Netscape 4 ging es auch anders, aber den berücksichtigst du ja eh nicht, da NS 4 kein rect() kennt.(das geht auch anders)

    Christian

    1. Hi,

      für Netscape 4 ging es auch anders, aber den berücksichtigst du ja eh nicht, da NS 4 kein rect() kennt.(das geht auch anders)

      clippen kann NC 4x schon, nur der Javascript-Zugriff erfolgt anders:
      obj.clip.width / height

      Gruesse  Joachim

      1. Hi,

        für Netscape 4 ging es auch anders, aber den berücksichtigst du ja eh nicht, da NS 4 kein rect() kennt.(das geht auch anders)
        clippen kann NC 4x schon, nur der Javascript-Zugriff erfolgt anders:
        obj.clip.width / height

        ich sagte ja: "für Netscape 4 ging es auch anders" [...] "da NS 4 kein rect() kennt.(das geht auch anders)"

        ich weiß das er clippen kann. aber eben nicht mittels rect() sondern anders.

        Christian