pinger: Ebenen Problem

Hallo Forum,

Ich habe eine Seite generiert auf der mehrere Ebenen genau übereinander liegen. Mit einem Click auf einen Link soll einfach die zum Link dazugehörige Ebene ganz nach oben bzw. Angezeigt werden. Mein Problem : isch kriegs net hin.
Hat jemand eine Idee oder einen Weg wie es funktionieren könnte?
über etwas Quelltext oder ein Beispiel würde sich pinger auch freuen ;-)

Viele Grüsse

pinger

  1. hallo,

    Ich habe eine Seite generiert auf der mehrere Ebenen genau übereinander liegen.

    Ähm, bloß um Mißverständnisse zu vermeiden: unter "Ebene" verstehst du das, was viele andere ganz schlicht "Layer" nennen?

    Mit einem Click auf einen Link soll einfach die zum Link dazugehörige Ebene ganz nach oben bzw. Angezeigt werden. Mein Problem : isch kriegs net hin.

    Och ... Was hast du denn dafür bisher unternommen? Das möchten "wir" nämlich ganz gerne wissen, um dir zeigen zu können, wie es eventuell besser geht.

    Hat jemand eine Idee oder einen Weg wie es funktionieren könnte?

    Tonnenweise. Es gibt so viele Aussagen dazu im Archiv, daß mir das Suchformular glattweg meinen Rechner zum Absturz gebracht hat.

    über etwas Quelltext oder ein Beispiel würde sich pinger auch freuen ;-)

    Ein bissel Theorie gibts: Was du haben möchtest, ist mit HTML alleine nicht zu machen. Du brauchst dazu zusätzlich CSS und solltest vorläufig auch noch nicht ganz auf Javascript verzichten, weil der IE mit CSS noch nicht alles kann, was er eigentlich können sollte.

    Deine "Ebenen" hast du also übereinandergelegt, das heißt, du hast sie alle an denselben Koordinaten positioniert.  Das ist ein bissel doof, weil natürlich immer nur eine davon angezeigt werden kann. Welche das sein soll, kannst du entweder mit einem z-index festlegen oder/und mit einem der beiden Werte für "visibility". Sinnvollerweise legst du nur für eine deiner Ebenen fest, daß sie bei Seitenaufruf sichtbar sein soll, alle anderen bekommen standardmäßig erstmal "hidden" verpaßt.

    Das mit dem Anzeigen und Verstecken funktioniert derzeit noch am Zuverlässigsten über einen EventHandler. Bei einem link bietet sich natürlich "onclick" an. Dem sagst du zuerst, welche deiner Ebenen er mit "getElementByID()" ansprechen soll, und dann hängst du eleganterweise noch "style.display:none" dran, wenn das gewünschte Element sich verdünnisieren soll. Das Unangenehme könnte sein, daß du eventuell _alle_ deine Ebenen innerhalb des EventHandlers ansprechen mußt, macht aber nix, gibt bloß bissel Tipparbeit.

    Achso, ja, du wolltest ein Beispiel haben:
    <a href="#code01" onClick="document.getElementById('code01').style.display='block';document.getElementById('knopf01a').style.display='block';document.getElementById('knopf01b').style.display='block'; document.getElementById('knopf01').style.display='none'">Abschnitt einblenden</a>
    Willst du das Ganze wieder rückgängig machen, brauchst du einen zweiten link, der dann ungefähr so aussieht:
    <a href="#knopf01" onClick="document.getElementById('code01').style.display='none';document.getElementById('knopf01a').style.display='none';document.getElementById('knopf01b').style.display='none'; document.getElementById('knopf01').style.display='block'">Abschnitt ausblenden</a>

    Das funktioniert bei mir auf einer Seite ganz prima. Es werden auf einen Schlag drei Elemente (eins davon ist eine "Ebene"), die bisher unsichtbar sind, sichtbar gemacht und ein anderes verschwindet dafür von der Bildfläche  -  und umgekehrt. Natürlich müssen die anzusprechenden Elemente in diesem Fall auch die passenden ID's und Namen haben.

    Grüße aus Berlin

    Christoph S.