Funktionen deaktivieren
Peter
- javascript
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
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
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
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
}
....
if (document.getElementById(where).style.display='none')
muss natürlcih heissen == 'none' ;)
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
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