Sebastian Lorenz: Alle ebenen ausblenden

Hallo,

ich habe folgendes Problem:

Eine Seite soll bei Klick auf einen von 100 Links eine Ebene einblenden.
Das klappt auch ganz gut. Die entsprechende Ebene wird als Info eingeblendet.

Nun möchte ich eine Funktion mit Namen "HideAllInfos" vor dem einblenden aufrufen, die alle sichtbaren Ebenen die mit "landlayer" beginnen ausblendet, wenn diese unsichtbar sind.
Da ich nicht eine ganze Liste per PHP erzeugen will und dies die Seite unnötig aufbläht, brauche ich eine Funktion, die folgenden macht:

1. Suche alle Ebenen deren Name mit "landlayer" beginnt
2. Prüfe ob diese sichtbar ist
3. Blende die Ebene aus (hide)

Gibt es dazu schon Funktionen, die das machen ?
Ich leider nicht, wie ich nach Ebenen (div) nach Namen in dieser Form suchen kann.

Für Tipps wäre ich sehr dankbar.

Vielen Dank!

Bye,
Sebastian

  1. hi,

    Nun möchte ich eine Funktion mit Namen "HideAllInfos" vor dem einblenden aufrufen, die alle sichtbaren Ebenen die mit "landlayer" beginnen ausblendet, wenn diese unsichtbar sind.

    alle sichtbaren ebenen, die unsichtbar sind? huh?

    1. Suche alle Ebenen deren Name mit "landlayer" beginnt

    divs haben kein name-attribut - meinst du ID?

    1. Prüfe ob diese sichtbar ist

    wozu? wenn du 3) doch sowieso machen willst, kann diese prüfung entfallen.

    1. Blende die Ebene aus (hide)

    Gibt es dazu schon Funktionen, die das machen ?
    Ich leider nicht, wie ich nach Ebenen (div) nach Namen in dieser Form suchen kann.

    wenn ich mich recht erinnere, hatte dazu hier jemand letztens mal eine funktion gepostet, weiß leider nicht mehr, wann und wo.
    vielleicht meldet sich der jenige, wenn er das hier liest.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
  2. Hallo Sebastian.

    1. Suche alle Ebenen deren Name mit "landlayer" beginnt

    Um alle Elemente eines Typs (z.B. alle div) zu finden, gibt es getElementsByTagName:
    http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_tag_name

    Das Ergebnis ist ein Array aller im Dokument enthaltenen DIV, das du nach den Regeln für Arrays durchlaufen und auf die von dir gesuchte Eigenschaft hin untersuchen kannst. Kleiner Tipp: du benötigst die Universaleigenschaft "id":

    http://de.selfhtml.org/javascript/objekte/htmlelemente.htm#universaleigenschaften

    Das Ganze kombinierst du mit der entsprechenden Stringfunktion:

    http://de.selfhtml.org/javascript/objekte/string.htm

    1. Prüfe ob diese sichtbar ist
    2. Blende die Ebene aus (hide)

    Auf CSS-Properties hast du mit Hilfe des style-Objektes Zugriff, du kannst sie sowohl auslesen als auch ändern:

    http://de.selfhtml.org/javascript/objekte/style.htm#allgemeines

    Viel Spaß beim Coden und hoffentlich funzt's ;))

    Freundschaft!
    Siechfred

    --
    Nichts ist schwerer einzureißen als die Mauer in den Köpfen.