Layer dyn an und aus
Thomas Lachmann
- javascript
0 holger kuehne0 Thom
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
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
Hidihoo Holger.
vielen Dank..
Ich mach' mich gleich mal an die Arbeit ;-)
Thomas