Einblenden / Ausblenden -> erweitern
Jens Ritter
- javascript
Hallo Leser,
ich habe das folgende Problem: leider habe ich von JavaScript kaum Ahnung (wollte es zwar immer mal lernen, aber irgendwie hab ich nie Zeit ;-) )
Jedenfalls brauche ich für eine dienstl. Homepage eine Navigation zum Auf- und Zuklappen. Ich hab mir da ein einfach gehaltenes JS besorgt, was auch ganz gut funktioniert. Allerdings würde ich das gerne erweitern.
<script type="text/javascript">
function collapse(input)
{
elementname = document.getElementById(input);
if_displayed = elementname.style.display;
if (if_displayed=='block')
{
elementname.style.display='none';
}
else
{
elementname.style.display='block';
}
}
</script>
Mit dem Link: <a class="navi" href="javascript:collapse('allgemein');"> wird dann z.B. das div-Element <div id="allgemein" style="display: none;">...</div> eingeblendet und wieder ausgeblendet.
Ich habe nun aber verschiedene Elemente/Inputs, die man alle öffnen und schließen kann. Jetzt hätte ich es aber gern, dass sich immer nur ein Element öffnen kann. Wenn also ein zweites geöffnet wird, soll das bereits offene wieder schließen.
Dazu braucht man sicherlich eine if-Abfrage, die ich aber leider nicht selbst hinbekomm. Es wäre super, wenn mir jemand dabei helfen könnte.
Mit freundlichen Grüßen
Jens
moin Jens :)
ich habe das folgende Problem: leider habe ich von JavaScript kaum Ahnung (wollte es zwar immer mal lernen, aber irgendwie hab ich nie Zeit ;-) )
WEnn du dir jetzt nicht die Zeit dafür nimmst, wird dein Unterfangen nicht gelingen. Eine fertige Lösung bekommst du hier nicht.
Ich habe nun aber verschiedene Elemente/Inputs, die man alle öffnen und schließen kann. Jetzt hätte ich es aber gern, dass sich immer nur ein Element öffnen kann. Wenn also ein zweites geöffnet wird, soll das bereits offene wieder schließen.
lies dir dazu mal folgenden Thread zum Thema Ebenen ausblenden durch.
Als Ergänzung lies bitte noch wie man ein Array mit allen Elementen eines Tags erstellt
Ich nehme an, du hast jetzt Fragen? Frage! ;)
Dazu braucht man sicherlich eine if-Abfrage, die ich aber leider nicht selbst hinbekomm. Es wäre super, wenn mir jemand dabei helfen könnte.
if-schleifen sind einfach
liebe Grüße aus Berlin
lina-
Hallo lina.
Dazu braucht man sicherlich eine if-Abfrage, die ich aber leider nicht selbst hinbekomm. Es wäre super, wenn mir jemand dabei helfen könnte.
if-schleifen sind einfach
Wie erstellt man eine if-Schleife?
Einen schönen Mittwoch noch.
Gruß, Ashura
moin Ashura :)
Wie erstellt man eine if-Schleife?
Ohweia ;) böse Falle! *g*
Ich höre schon meinen ehemaligen Prof schimpfen ;)
liebe Grüße aus Berlin
lina-
Hi,
Dazu braucht man sicherlich eine if-Abfrage,
Wohl noch etwas mehr.
Hier wird dir aber bei *konkreten* Problemen der Programmierung i.d.R. geholfen.
Bei diesem "noch gar nichts"-Stand, verweise ich lieber auf meine "nicht mehr einfache"-Funktion Coding: Darstellungswechsel - Un-/Sichtbare Elemente: Ein-/Ausklappen, Verstecken, Transparenz, Farbe. Die macht das automatisch (sofern der letzte Parameter "true" ist).
Beispiel:
Bei einem Menü
...
<li id="menuHome"><a href="/">Homepage</a></li>
<li id="menuDir"><a href="/dir/">Directory</a></li>
...
versteckt ein
toggle("fold","li","menu","Home",true);
alle LIs mit der ID menu* - bis auf das LI mit der ID menuHome, das komplementär behandelt, also angezeigt wird.
Gruß, Cybaer
<li id="menuHome"><a href="/">Homepage</a></li>
toggle("fold","li","menu","Home",true);
Ups, ganz vergessen, daß ich als Auswahl-Attribut nicht ID vordefiniert habe. Da aber ID in diesem Beispiel verwendet wird, muß es noch übergeben werden:
toggle("fold","li:id","menu","Home",true);
Gruß, Cybaer