drag & drop - flyt <div>
Jeg har nogle problemer med at flytte en div vha javascript. Det skal fungere som drag & drop, og er mere eller mindre copy/paste fra andet site, men jeg kan ikke få det til at virke.Jeg har startet med kun at vedlægge javascriptkoden, så hvis i skal bruge mere for at gennemskue det, så sig endelig til.
Det har irriteret mig grænseløst i lang tid, så nu vil jeg gerne have andre øjne på problemet for at finde min fejl, hvilket sikkert bare er en slåfejl et eller andet sted.
----------
var mX = 0;
var mY = 0;
var dX = 0;
var dY = 0;
var windowObj = null;
function init() {
if (document.layers) {
document.getElementById('window').document.captureEvents(Event.MOUSEDRAG|Event.MOUSEDOWN|Event.MOUSEUP);
document.getElementById('window').document.onmousedown = mouseDown;
document.getElementById('window').document.onmouseup = mouseUp;
} else {
document.onmousemove = mouseMove;
document.onmouseup = mouseUp;
}
}
function mouseDown(e) {
if (document.all)
tmp = document.all["window"].style;
else if (document.getElementById)
tmp = document.getElementById("window").style;
else if (document.layers)
tmp = document.layers["window"];
windowObj = tmp;
if (document.layers) {
document.getElementById("window").document.captureEvents(Event.MOUSEMOVE);
document.getElementById("window").document.onmousemove = mouseMove;
dX = e.pageX - parseInt(windowObj.Left);
dY = e.pageY - parseInt(windowObj.Top);
} else {
dX = mX - parseInt(windowObj.Left);
dY = mY - parseInt(windowObj.Top);
}
return false;
}
function mouseUp(e) {
if (document.layers) {
document.getElementById("window").document.onmousemove = 0;
document.getElementById("window").document.releaseEvents(Event.MOUSEMOVE);
}
windowObj = null;
return false;
}
function mouseMove(e) {
mX = (document.all)? event.clientX : e.pageX;
mY = (document.all)? event.clientY : e.pageY;
if (windowObj) {
var nX = mX - dX;
var nY = mY - dY;
windowObj.Left = nX;
windowObj.Top = nY;
}
return false;
}