Vinzenz Mai: Bereich wieder ausblenden

Beitrag lesen

Hallo Peter,

function show(where,what) {
document.getElementById(where).style.display = what;
}

<div id="mm1" style="display:none"> bbaa </div>

Du hast also ein Element, das durch den Wert "mm1" identifiziert wird und das
wegen der display-Eigenschaft "none" nicht angezeigt wird.

<A href="JavaScript:show('mm1','block')"> test </A>

Mittels Klick auf diesen Link rufst Du die Funktion show mit den
Parametern

mm1
    block

auf, d.h. die Funktion sorgt dafür, dass das Element, das über den Wert
"mm1" identifiziert wird, angezeigt wird. Zuständig ist dafür der Wert
für die display-Eigenschaft, hier "block".

Jetzt will ich das das Element mm1 wieder unsichtbar wird, wenn ich auf:
<A href="JavaScript:show('mm2','block')"> test2</A>
klicke und umgekehrt. wie kann man so etwas bewerkstelligen?

Damit: gar nicht. Du möchtest das Element, das über den Wert "mm1" identifiziert
wird, ausblenden. Dazu setzt Du den Wert der display-Eigenschaft auf "none",
wie bereits zu Beginn. Und zwar möchtest das Element über den Wert "mm1"
identifizieren.

Der notwendige Aufruf wäre somit

<a href="JavaScript:[code lang=javascript]show('mm1', 'none')"> test2</A>[/code]

Zweite Funktion erstellen?

Nein, das ist - wie ich gezeigt habe - überflüssig. show() kann das schon.
Du magst die Funktion "generiert" haben, aber ganz bestimmt nicht selbst
erdacht haben. Beim realen Einsatz wäre es eine gute Idee, andere Elemente
als das <A>-Element für diesen Zweck zu verwenden und statt des Verweises
einen onclick-Handler zu nutzen.

Mehr dazu findest Du im SELFHTML-Javascript-Kapitel, z.B. Eventhandler.

Freundliche Grüße

Vinzenz