Thomas Lachmann: Layer dyn an und aus

Hallihallo,

Ich habe eine HP mit 1 - 10 Layern auf den einzelnen Seiten.
Gibt es eine Möglichkeit mit einer JS-Funktion alle vorhandenen Layer auszuschalten und dann ein einzelnes wieder anzuschalten?
Bzw. Gibt es eine Möglichkeit zu überprüfen wieviele Layer in einem HTML-document vorhanden sind, und diese dann alle auszuschalten??

Tnx Thomas

  1. Hi

    Ich habe eine HP mit 1 - 10 Layern auf den einzelnen Seiten.
    Gibt es eine Möglichkeit mit einer JS-Funktion alle vorhandenen Layer auszuschalten und dann ein einzelnes wieder anzuschalten?

    Ja gibt es

    Bzw. Gibt es eine Möglichkeit zu überprüfen wieviele Layer in einem HTML-document vorhanden sind, und diese dann alle auszuschalten??

    siehe oben!
    Ich denke mal, daß du mit an- bzw ausschalten sichtbar bzw. unsichtbar meinst.
    Das funktioniert aber nur mit Netscape 4.* bzw IE 4.*/5.*!!
    Ausserdem mußt du je nach Browser unterschiedlichen Javascriptcode verwenden
    Hier das Script:

    <html>
    <head>
    <script language="JavaScript">
    <!--
    function sichtbar(j){
    if (document.all){/* Testet ob der IE verwendeet wird */
    for(i=0;i<document.all.div.length;i++) /*document.all.div.length: Anzahl der layer im IE */
       document.all.tags("div")[i].style.visibility = "hidden"; /*alle Layer unsichtbar machen*/
       document.all.tags("div")[j].style.visibility="visible";}/*layer j sichtbar machen */
    else if (document.layers){/* Wenn Netscape verwendet wird */
    for(i=0;i<document.layers.length;i++) /*document.layers.length Anzahl der layer in Netscape */
    document.layers[i].visibility="hide";/*alle Layer unsichtbar machen*/
    document.layers[j].visibility="show";}/*layer j sichtbar machen */
    }
    //-->
    </script>
    </head>
    <body>
    <div id="a"  style="position:absolute; top:1px; left:180px; width:450px; height:300px; visibility:visible;">
    layer1
    </div>
    <div id="b"  style="position:absolute; top:20px; left:180px; width:450px; height:300px; visibility:visible;">
    layer2
    </div>
    <div id="c"  style="position:absolute; top:40px; left:180px; width:450px; height:300px; visibility:visible;">
    layer3
    </div>
    <div id="d"  style="position:absolute; top:60px; left:180px; width:450px; height:300px; visibility:visible;">
    layer4
    </div>
    <div id="e"  style="position:absolute; top:80px; left:180px; width:450px; height:300px; visibility:visible;">
    layer5
    </div>
    <div id="f"  style="position:absolute; top:100px; left:180px; width:450px; height:300px; visibility:visible;">
    layer6
    </div>
    <div id="g"  style="position:absolute; top:120px; left:180px; width:450px; height:300px; visibility:visible;">
    layer7
    </div>
    <div id="h"  style="position:absolute; top:140px; left:180px; width:450px; height:300px; visibility:visible;">
    layer8
    </div>
    <a href="javascript:sichtbar(3)">mache Layer4 sichtbar</a>
    </body>
    </html>

    Mit Netscape habe ichs getestet: funktioniert!
    Leider habe ich keinen IE4 zur Verfügung , muesste aber eigentlich funktionieren.
    Viel Spas bei testen!
               Holger

    1. Hidihoo Holger.

      vielen Dank..

      Ich mach' mich gleich mal an die Arbeit ;-)

      Thomas