Ok, dann also würde ich folgenden Code in einem zusätzlich eingebundenen Javascript probieren:
Code:
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onclick = getPosition;
var dragobjekt = null;
var dragx = 0;
var dragy = 0;
var posx = 0;
var posy = 0;
function getPosition(e) {
if (IE) { // IE
tempX = event.clientX - document.getElementById("referenzcontainer").offsetLeft;
tempY = event.clientY - document.getElementById("referenzcontainer").offsetTop;
} else { // NS
tempX = e.pageX - document.getElementById("referenzcontainer").offsetLeft;
tempY = e.pageY - document.getElementById("referenzcontainer").offsetTop;
}
}
function draginit() {
document.onmousemove = drag;
document.onmouseup = dragstop;
}
function dragstart(element) {
dragobjekt = element;
dragx = posx - dragobjekt.offsetLeft;
dragy = posy - dragobjekt.offsetTop;
}
function dragstop() {
dragobjekt=null;
}
function drag(ereignis) {
posx = document.all ? window.event.clientX : ereignis.pageX;
posy = document.all ? window.event.clientY : ereignis.pageY;
if(dragobjekt != null) {
dragobjekt.style.left = (posx - dragx) + "px";
dragobjekt.style.top = (posy - dragy) + "px";
}
}
und in Deiner dom-drag.js
Code:
end : function()
{
document.onmousemove = null;
document.onmouseup = null;
Drag.obj.root.onDragEnd( parseInt(Drag.obj.root.style[Drag.obj.hmode ? "left" : "right"]),
parseInt(Drag.obj.root.style[Drag.obj.vmode ? "top" : "bottom"]));
Drag.obj = null;
var x = tempX;
var y = tempY;
document.cookie = x + '|' + y;
}
Ich bin mir jetzt nicht sicher ob das funktioniert, aber in meinem Originalscript wird auf diese Weise die XY-Position ausgelesen, a) vor dem Drag und b) nach dem Drag.
Im eigentlichen Layer müssen natürlich noch die Befehle rein.
Code:
onmouseover=\"draginit();\" onmousedown=\"dragstart(this);\"
MFG. Ricola
Lesezeichen