Hallo,
Ich versuche gerade mehrere Bilder auf einer Seite dynamisch zu bewgen. Zum erstellen der Bilder benutze ich folgendes Script.
for (var i=0; i<=14; i++)
{
document.writeln('<div>');
Einpacken ist in Deinem Falle nicht so gut.
document.writeln('<img src="aSource" style="position:absolute;" id="' + i + '">');
document.writeln('</div>');
}
Anschliesend hab ich ein Event-Handling, welches bei einem Klick auf ein solches, dieses aktiviert und dann an die aktuelle Mausposition anpasst, so dass es frei bewegbar ist. Ein weitere Klick legt es dann wieder ab. Für die Positionierung ist folgender Teil verantwortlich.
if (document.all)
{
var x=event.x;
Was für eine Event? Hast Du das angegeben? (onclick="movePic(x,y)" o.ä.)
Event wo? Meinst wahrscheinlich window.event oder?
var y=event.y;
document.all[aId].style.top=y;
Gibt es die Variable "aId"? Ist die evt leer?
document.all[aId].style.left=x;
}
Mein Problem ist nun, dass der IE das Bild einfach nicht bewegt und ich keine Ahnung habe warum. Hat jemand ne Ahnung, was ich falsch gemacht habe?
Da etwas wenig Code gepostet wurde, kann ich auch nur Ahnungen äußern. ;-)
event() bezieht die Rückgabe der Koordinaten auf das Elternelement des Elementes, in dem der Event vorkommt. Da Du das Bild in eine DIV gepackt hast, ist das das Elternelement und darauf beziehen sich dann die Koordinaten in x und y. Versuch es mal mit clientX bzw clientY (MS only!) also:
if (document.all)
{
var x = window.event.clientX;
usw.
Bei Netscape ist es entspr. pageX bzw pageY.
so short
Christoph Zurnieden