Avatar billede mmcduck Nybegynder
29. december 2005 - 11:54 Der er 1 løsning

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;
}
Avatar billede mmcduck Nybegynder
08. januar 2006 - 11:03 #1
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester