Naja, überlege dir einmal was bei dieser Zeile wohl herauskommen wird, wenn du vorher alle ausgeblendet hast:
Quelltext
1:
| if(e.style.display=="none"){ |
Das hättest du aber auch im Debugger sehen können was da passiert.
Lösung:
Den Status vor dem Ausblenden zwischenspeichern oder deiner Ausblendfunktion das aktuelle Element mitgeben und dieses unverändert lassen.
Nebenbei:
Statt da für jedes Element eine neue Zeile hinzuzufügen, wäre es sinnvoller ein Array zu benutzen, z.B. so (ungetestet):
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30:
| <script type="text/javascript" language="javascript"> <!-- Begin
// hier müssen alle Container-IDs eingetragen werden // die Funktion schaltet alle Boxen auf unsichtbar var MyElements = new Array('para01', 'para02', 'para03', 'para04', 'para05');
function toggleMe(a){
// beim Einblenden einer Box generell alle ausblenden alleaus(a)
var e=document.getElementById(a); if(!e)return true; if(e.style.display=="none"){ e.style.display="block" } else { e.style.display="none" } return true; }
function alleaus(a) { for (var i = 0; i < MyElements.length; ++i) if (MyElements[i] != a) document.getElementById(MyElements[i]).style.display = "none"; }
// End --> </script> |