Hi,
hallo und danke für die schnelle antwort.
x = window.event.offsetX;
x enthält jetzt eine Zahl.
document.getElementById('layer2').style.left = x;
left kann mit einer Zahl nichts anfangen, es wird eine Länge erwartet.
hmm.. mit Laenge meinst du die form "eine Zahl + px" oder ? ich habe angenommen, dass die zahlenwerte automatisch in laengenwerte umgewandelt werden, da es funktioniert hat. Aber ich habe inzwischen "px" dazugehaengt.
x = h- parseInt(eval('document.getElementById("layer2").style.left'));
wozu soll hier bitte das eval dienen?
in dem fall brauchte ich "die zahl" als linker anfangspunkt vom layer2 damit ich das von x abziehen kann. das hat erst dann funktioniert, nachdem ich eval() dazugehaengt habe (da ich angenommen habe, dass eval den wert mir als zurückliefert, was in der praxis bisjetzt kein problem gemacht hat. Geht es auch anders/ besser? )
Zu dem von Dir angesprochenen Problem:
bei onmousedown setzt Du den Eventhandler für onmousemove. Dieser bleibt logischerweise solange erhalten, bis er durch einen anderen ersetzt wird.
so logisch ist es als JavaScript anfaenger nicht; denn der Eventhandler für onmousemove wird in einer funktion gesetzt, und ich nahm an, dass wenn die funktion verlassen wird, auch die ausführung saemtlicher darin enthaltenen methoden abgebrochen werden - was natürlich nicht stimmte.
eine lösung via document.onmousemove = null; (welche ich aus dem von Struppi vorgeschlagenen skript abgeschaut habe) löste das problem :)
danke nochmals,
grüsse,
tufi