Sven Rautenberg: Einstellen der class eines div per script

Beitrag lesen

Hallo Zusammen.

Moin!

Um auf einer Seite je nach klick einige Elemente anzuzeigen oder auch nicht will ich ein Script verwenden, das in abhängigkeit eines Parameters (ID) zunächst alle tieferen Elemente (Länge der ID ist größer) ausblendet und dann (fehlt hier) die richtigen einblendet. Die div Tags sind entsprechend geschachtelt, die id´s ok und die Klassen 'hide' und 'show' (hier nicht verwendet) per css vereinbart.

Obwohl deine Vorgehensweise im Prinzip ja ganz vernünftig erscheint, wage ich doch zu bezweifeln, daß es Sinn macht. Deine zwei Klassen können sich doch höchstens in "visibility:visible" und "visibility:hidden" unterscheiden, alles andere ist gleich.

Um solche einzelnen Dinge zu ändern, mach es so, wie alle anderen Programmierer vor dir und ändere einfach die Eigenschaft "visibility" der Layer. Dazu gibts sogar noch ein wenig Code von mir:

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
v6 = (document.getElementById)? true:false

function showlayer(layerid)
{
  if (ns4) document.layers[layerid].visibility = "show"
  else if (v6) document.getElementById(layerid).style.visibility = "visible";
  else if (ie4) document.all[layerid].style.visibility = "visible"
}

function hidelayer(layerid)
{
  if (ns4) document.layers[layerid].visibility = "hide"
  else if (v6) document.getElementById(layerid).style.visibility = "hidden";
  else if (ie4) document.all[layerid].style.visibility = "hidden"
}

Getestet in Netscape 4+, IE 4+  und Opera 5+ auf PC/Windows und MacOS.

- Sven Rautenberg