Hi
Ich hab erst gar nicht verstanden wo da ein Problem sein soll...bis ich das ganze mal selber probiert habe ;-)
Das Problem ist folgendes: Wenn du den Layern anstaendige namen gibst, die nicht mit einer Zahl anfangen, dann scheints zu klappen. Wenn der Layername mit einer Zahl anfaengt wird zumindest meine CSS definition ignoriert und der Layer ist nur noch ein normaler div tag. Ausserdem wird bei document.layers[2] und sogar bei document.layers["2"] immer der dritte Layer und nicht irgendein layer mit dem namen 2 angesprochen.
Fazit: bei Javascript muss man sehr vorsichtig beim vergeben von namen sein! Auch der Unterstrich scheint verboten zu sein in layernamen. Das heisst wenn ich deinen div id=1_1 in id="layer1_1" umbenenne dann klappst immer noch nicht. Aehnliche Probleme gibt es wenn man einer Javascriptfunktion den gleichen namen gibt wie einem Layer, dann wird die Funktion naemlich nicht aufgerufen sondern es wird versucht den Layer anzusprechen. Wenn du die Funktion test in tester umbenennst wirst du sehen was ich meine ;-))
So genug gelaber hier ist der Quelltext
<html>
<head>
<title>divs</title>
<style type="text/css">
<!--
#layer1 {position:absolute; top:10;left:40;}
#layer1b {position:absolute; top:10;left:10;}
#layer2 {position:absolute; top:40;left:40;}
#tester {position:absolute; top:60;left:40;}
-->
</style>
<script language="JavaScript">
<!--
function test() {
alert("Obenpos von Layer2:"+document.layer2.top);
return
}
//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<div id="layer1">
<div id="layer1b">
text Layer1_1
</div>
</div>
<div id="layer2">
text Layer2
</div>
<div id="tester">
<a href="#" onclick="test();return false;">Layerposition von Layer2</a>
</div>
</body>
</html>
viele Gruesse Holger