@@ChrisB:
nuqneH
Ungefähr so:
function abs1(elementId) {
var elementStyleObj = document.getElementById(elementId).style;
if (elementStyleObj.display != "block") {
elementStyleObj.display = "block";
}
else {
elementStyleObj.display = "none";
}
}
>
> Oder <http://de.selfhtml.org/javascript/sprache/bedingt.htm#entweder_oder@title=kürzer>:
>
> ~~~javascript
function abs1(elementId) {
> var elementStyleObj = document.getElementById(elementId).style;
> elementStyleObj.display = elementStyleObj.display != "block" ? "block" : "none";
> }
Anstelle immer den Wert der display-Eigenschaft abzufragen, könnte man dem Elementbjekt auch ein Flag spendieren:
function abs1(elementId) {
var elementObj = document.getElementById(elementId);
elementObj.isVisible = !elementObj.isVisible;
elementObj.style.display = elementObj.isVisible ? "block" : "none";
}
>
> Oder kürzer:
>
> ~~~javascript
function abs1(elementId) {
> var elementObj = document.getElementById(elementId);
> elementObj.style.display = (elementObj.isVisible = !elementObj.isVisible) ? "block" : "none";
> }
Aber eigentlich sollte man mit JavaScript keine CSS-Eigenschaften ändern.
Qapla'
PS: Was ist das eigentlich für ein du^Wunglücklich gewählter Funktionsbezeichner? abs1
?? Wofür steht das?
Ich würde die Funktion toggle
nennen.
Hi,
weill ich damit weiterarbeiten möchte. Damit die einzelnen Absätze auch offen bleiben.
zb so:
function abs1(element)
{
var status = document.getElementById(element).style.display;
document.getElementById('zus1').style.display = 'none';
document.getElementById('zus2').style.display = 'none';
...usw..
if(status == "none"){document.getElementById(element).style.display = "block";}
}
##
function abs2(element)
{
var status = document.getElementById(element).style.display;
document.getElementById('zus1').style.display = 'none';
document.getElementById('zus2').style.display = 'none';
..usw..
if(status == "none"){document.getElementById(element).style.display = "block";}
}
Und auf den Unterseiten, damit die Navi "abs1" auch offen bleibt:
<script type="text/javascript">abs1('zus1');</script>
oder
<script type="text/javascript">abs1('zus2');</script>
bsw. auf anderer Seite wo "abs2" offen bleiben soll.
<script type="text/javascript">abs2('zus1');</script>