Peter: Funktionen deaktivieren

Hallo allerseits

Habe folgende Funktion:

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

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

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

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?
Zweite Funktion erstellen?

Ich habe für Antworten zu danken

  1. Hi,

    Habe folgende Funktion:

    woher? Und warum benutzt Du fremden Code, den Du nicht verstehst?

    Zweite Funktion erstellen?

    Die von Dir genannte Funktion ist genau auf Deinen Anwendungsfall hin ausgerichtet. Verwende sie einfach in dem Sinn, in dem sie gedacht ist.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. woher? Und warum benutzt Du fremden Code, den Du nicht verstehst?

      Ich verstehen meinen Eigenen generierten Code sehr wohl.

      Die von Dir genannte Funktion ist genau auf Deinen Anwendungsfall hin ausgerichtet. Verwende sie einfach in dem Sinn, in dem sie gedacht ist.

      wie kann ich dann zwei mal die selbe Funktion auf ein anderes Element ausführen???  Das ist mein Problem. Das verstehe ich nicht

      Danke für antworten

      1. Hi there,

        wie kann ich dann zwei mal die selbe Funktion auf ein anderes Element ausführen???  Das ist mein Problem. Das verstehe ich nicht

        Sinnvollerweise, indem Du die Funktion selbst die Antwort geben lässt. Du fragst einfach ab, ob das objekt sichtbar ist oder nciht, falls ja, setzt Du es auch unsichtbar, falls nein auf sichtbar. In etwas

        if (document.getElementById(where).style.display='none')
        {
        mach sichtbar
        }
        else
        {
        mach unsichtbar
        }

        ....

        1. if (document.getElementById(where).style.display='none')

          muss natürlcih heissen == 'none' ;)

  2. Hallo,

    Habe folgende Funktion:

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

    wenn der Parameter 'what' nur diese zwei alternierenden Parameter annehmen soll, dann lass ihn doch weg und ändere den momentanen Wert der Eigenschaft einfach auf den anderen.

    Gruß,
    Henning

  3. 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