friendofmisery
Mitglied
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!
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!