visibility = "collapse";
schaich
- javascript
Hey
ich hab auf meiner Seite eine einmal verschachtelte Liste. Beim Anklicken eines Elementes soll jetzt die "innere" Liste den PLatz freigeben den sie normlerweise braucht.
Ich hab mir gedacht ich mach das so:
<ul>
<li onclick="hide()"> text </li>
<li onclick="show()"> text </li>
<ul id="innen">
<li> innen </li>
<li> innen </li>
</ul>
<li onclick="hide()"> text </li>
<li onclick="hide()"> text </li>
</ul>
<script type="text/javascript">
function show(){
if (document.getElementById)
document.getElementById("subsection").style.visibility = "visible";
}
function hide(){
if (document.getElementById)
document.getElementById("subsection").style.visibility = "collapse";
}
</script>
Das Problem ist nur das zwar nichts mehr angezeigt wird aber der Platz nicht von den Listenelementen darunter eingenommen wird.
Kann mir einer sagen was ich falsch gemacht habe?
MfG Schaich
Kann mir einer sagen was ich falsch gemacht habe?
du suchst vermutlich display: none; und display: block; bzw display: list-item;
Kann mir einer sagen was ich falsch gemacht habe?
du suchst vermutlich display: none; und display: block; bzw display: list-item;
Ah ja...
Danke, hab überlesen, dass "collapse" nur für Tabellenzeilen und -spalten wirkt.
MfG Schaich
Das "Problem" hab ich jetzt gelöst, aber ich hab ein neues:
Ich habe mehrere <span>'s in einem div-container.
Jetzt möchte ich ,dass bei einem Klick auf den richtigen Link das angezeigte span ausgeblendet wird und das entsprechende andere eingeblendet (am selben ort).
Das klappt auch eigentlich nur leider verschwindet nicht nur der span sondern auch die navi ins Nirvana...
der aufbau is so ähnlich:
<div>
<span id="1"></span>
<span id="2"></span>
<span id="3"></span>
</div>
function eins(){
if (document.getElementById){
document.getElementById("2").style.display = "none";
document.getElementById("3").style.display = "none";
document.getElementById("1").style.display = "block";
}
}
entprechende funktionen hab ich dann natürlich auch für die anderen beiden geschrieben.
MfG Schaich
Yerf!
function eins(){
if (document.getElementById){
document.getElementById("2").style.display = "none";
document.getElementById("3").style.display = "none";
document.getElementById("1").style.display = "block";
}
}
a) IDs dürfen nicht mit einer Ziffer beginnen.
b) der Default-Wert für Display ist bei einem SPAN "inline"
Gruß,
Harlequin
a) IDs dürfen nicht mit einer Ziffer beginnen.
b) der Default-Wert für Display ist bei einem SPAN "inline"
Das mit den ID's hab ich nur hier im Forum geschrieben mein Fehler...
den default wert hab ich geändert ohne erfolg gibt es vll noch was anderes was ich übershene hab??
MfG Schaich
Yerf!
den default wert hab ich geändert ohne erfolg gibt es vll noch was anderes was ich übershene hab??
Durchaus möglich... kansst du das mal online stellen und hier verlinken?
Gruß,
Harlequin
Durchaus möglich... kansst du das mal online stellen und hier verlinken?
Nicht mehr nötig hab den Fehler finden können.
Aber ich hab noch ein dadurch verursachtes Problem mit einer switch-verzweigung:
ich habe eine
function hide(pvalue){
switch (pvalue) {
case "1":
home();
break;
case "2":
artist_contact();
break;
case "3":
links2();
break;
}
}
die wird so aufgerufen :
<li onclick="hide(1)">eins</li>
<li onclick="hide(2)">zwei</li>
<li onclick="hide(3)">drei</li>
Warum wird die switch-Verzweigung völlig ignoriert?
MfG Schaich
Yerf!
Warum wird die switch-Verzweigung völlig ignoriert?
Vermutlich, weil du Strings mit Zahlen vergleichst. Schreib entweder beim case die Zahlen ohne die Anführungszeichen oder beim Funktionsaufruf die Zahl ebenfalls mit.
Gruß,
Harlequin
Vermutlich, weil du Strings mit Zahlen vergleichst. Schreib entweder beim case die Zahlen ohne die Anführungszeichen oder beim Funktionsaufruf die Zahl ebenfalls mit.
Jaaaaaa danke.
Jetzt klappt alles wie geschmiert.
MfG Schaich
Hi,
entprechende funktionen hab ich dann natürlich auch für die anderen beiden geschrieben.
Dann beschaeftige dich mal damit, wie man *sinnvolle* Funktionen schreibt.
(Stichwort: Parametrisierung)
MfG ChrisB
Mahlzeit Schaich,
entprechende funktionen hab ich dann natürlich auch für die anderen beiden geschrieben.
Hätte ich ja nicht gemacht ... ich hätte genau genommen nur eine Funktion für alle dieser für mich eher nach einer in einer Liste enthaltenen Punkte aussehenden Dinger geschrieben.
MfG,
EKKi