Gunnar Bittersmann: Menü; display=block wenn Javascript deaktivert

Beitrag lesen

@@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:

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.

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)