NS6 layer

NS6 layer - Herausforderung!!!

Hallo zusammen!

Das leidige Layer-Problem mal wieder :(

Also, ich hab da ein schickes Script (teilweise selbst geschrieben), das die Position und den Namen von Elementen im Dokument ausliest. Diese Elemente sind bewegliche Layer.

--> Browser-Probleme, denn das Script funzt net mehr ab NS6.
Ansonsten läufts. Liegt wohl an document.layers etc.

<html>
<head>
<SCRIPT LANGUAGE="JavaScript">
N = (document.all) ? 0 : 1;
var ob;

function MD(e) {
if (N) {
ob = document.layers[e.target.name];
layernamens = e.target.name;
X=e.x;
Y=e.y;
movex = e.pageX-X;
return false;
}
else {
ob = event.srcElement.parentElement.style;
Y=event.offsetY;
}
}

function MM(e) {
if (ob) {
if (N) {
movey = e.pageY-Y;
if (movey > 301) {
movey = 301;
}
else if (movey < 35) {
movey = 35;
}
ob.moveTo(movex,movey);
}
else {
ob.pixelTop = event.clientY-Y + document.body.scrollTop;
if (ob.pixelTop > 301) {
ob.pixelTop = 301;
}
else if (ob.pixelTop < 35) {
ob.pixelTop = 35;
}
return false;
}
}
}

function MU(layername) {
if (N) {
if (movey) {
pixxelTop = -movey+301;
ob = null;
alert ("sieblinie1.asp?pixelTop=" + pixxelTop + "&id=" + layernamens)
}
}
else {
pixxelTop = -ob.pixelTop+301
ob = null;
alert ("sieblinie1.asp?pixelTop=" + pixxelTop + "&id=" + layername)
}
}

if (N) {
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
document.onmouseup = MU;
}
document.onmousedown = MD;
document.onmousemove = MM;
</script>
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<img src="template63.jpg" border="0">

<!-- top:301 entspricht der Nulllinie (die Pfeilspitze steht auf der unteren Linie);-->
<!-- top:35 entspricht 100% in der Grafik (die Pfeilspitze steht auf der oberen Linie)-->
<!-- die Spitze des Pfeils steht immer auf dem Pixel links der Linie-->
<div id="pfeil0" name="pfeil0" style="position:absolute;left:74;top:288;"><img onmouseup="MU('pfeil0')" src="pfeil.gif" border="0" name="pfeil0"></div>
<div id="pfeil1" name="pfeil1" style="position:absolute;left:126;top:283;"><img onmouseup="MU('pfeil1')" src="pfeil.gif" border="0" name="pfeil1"></div>
<div id="pfeil2" name="pfeil2" style="position:absolute;left:178;top:262;"><img onmouseup="MU('pfeil2')" src="pfeil.gif" border="0" name="pfeil2"></div>
<div id="pfeil3" name="pfeil3" style="position:absolute;left:229;top:238;"><img onmouseup="MU('pfeil3')" src="pfeil.gif" border="0" name="pfeil3"></div>
<div id="pfeil4" name="pfeil4" style="position:absolute;left:280;top:222;"><img onmouseup="MU('pfeil4')" src="pfeil.gif" border="0" name="pfeil4"></div>
<div id="pfeil5" name="pfeil5" style="position:absolute;left:331;top:199;"><img onmouseup="MU('pfeil5')" src="pfeil.gif" border="0" name="pfeil5"></div>
<div id="pfeil6" name="pfeil6" style="position:absolute;left:348;top:190;"><img onmouseup="MU('pfeil6')" src="pfeil.gif" border="0" name="pfeil6"></div>
<div id="pfeil7" name="pfeil7" style="position:absolute;left:383;top:168;"><img onmouseup="MU('pfeil7')" src="pfeil.gif" border="0" name="pfeil7"></div>
<div id="pfeil8" name="pfeil8" style="position:absolute;left:407;top:152;"><img onmouseup="MU('pfeil8')" src="pfeil.gif" border="0" name="pfeil8"></div>
<div id="pfeil9" name="pfeil9" style="position:absolute;left:434;top:131;"><img onmouseup="MU('pfeil9')" src="pfeil.gif" border="0" name="pfeil9"></div>
<div id="pfeil10" name="pfeil10" style="position:absolute;left:458;top:111;"><img onmouseup="MU('pfeil10')" src="pfeil.gif" border="0" name="pfeil10"></div>
<div id="pfeil11" name="pfeil11" style="position:absolute;left:485;top:88;"><img onmouseup="MU('pfeil11')" src="pfeil.gif" border="0" name="pfeil11"></div>

</body>
</html>

Soweit ich das sehe muss ich an der Zeile

ob = document.layers[e.target.name];

angreifen, da NS6 document.layers nicht mag.

Aber wie?!? Da komm ich nicht hinter.
Irgendwas mit getElementbyId oder? Aber wie genau?

Wäre klasse wenn da jemand durchsteigt und mir helfen könnte :)

Vielen Dank schonmal!
 
Du musst bei div- und spanlayern den name Tag durch einen id-Tag austauschen. Dann kannst du ihn mit window.document.getElementById("iddeslayers") ansprechen.
 

Neue Beiträge

Zurück