hi,
bitte poste nur den relevanten Code.
Hier mal ein Testscript, so klappt es. Beachte, das Du im NC6 und IE die Div-Layerposition mit obj.left/top nur herausfindest, wenn Du sie zuvor mit JS zugewiesen hattest - passiert hier in "initMove()"
Gruss Joachim
<html>
<head>
<style type="text/css">
#ebene0 {position:absolute; top:100px; left:50px; width:50px; height:100px; visibility:visible;}
</style>
<script language="javascript1.2">
// some known objects
var nc = !!(document.captureEvents && !document.getElementById);
var ie4 = !!(document.all && !document.documentElement);
// einfache div-layer referenzieren
function dRefS(num) {return (nc? document.layers[num] : (ie4? document.all[num].style : document.getElementById(num).style))}
// id, zielposition x und y, Geschwindigkeit
function move(id,x,y,speed)
{
aktX = parseInt(dRefS(id).left);
aktY = parseInt(dRefS(id).top);
distX = x - aktX;
distY = y - aktY;
dist = Math.sqrt(distX*distX + distY*distY);
if(Math.abs(dist) < speed)
{
dRefS(id).left = x;
dRefS(id).top = y;
return;
}
dRefS(id).left = aktX + distX / dist * speed;
dRefS(id).top = aktY + distY / dist * speed;
run = setTimeout("move('" + id + "'," + x + "," + y + "," + speed + ")", 50);
}
// id, startposition x und y, zielposition x und y, Geschwindigkeit
function initMove(id, startX, startY, x, y, speed)
{
dRefS(id).left = startX;
dRefS(id).top = startY;
move(id,x,y,speed);
}
</script>
</head>
<body>
<a href="#" onclick="initMove('ebene0',50,50,500,600,10); return false;">bewegen</a>
<div id="ebene0">xxx</div>
</body>
</html>