ďťż

[DHTML] Drag&Drop "Ucieka" w msie

       

Podstrony


telcocafe

Nie wiem czemu, ale coś jest nie teges w kodzie bo "uciekają" mi przeciągane elementy <_<
URL
Całość jest "zamknięta" w divie, ale żeby przesunąć element w msie należy kursor przesunąć do krawędzi strony, nie diva <_<



a możesz dać funkcje która jest za to odpowiedzialna?

Można spojrzeć na źródło ;)
var MyOB; var Mzindex = 0; var MyOBpl = null; function DragFun(e) { // gdy element podniesiony if(!MyOB) return; e = e||event; MyOB.style.left = (e.pageX ? e.pageX : event.clientX + document.body.scrollLeft) - MyOB.style.X + 'px'; MyOB.style.top = (e.pageY ? e.pageY : event.clientY + document.body.scrollTop) - MyOB.style.Y + 'px'; if (((e.pageX ? e.pageX : event.clientX + document.body.scrollLeft) - MyOB.style.X) < 0) MyOB.style.left = '2px'; if (((e.pageY ? e.pageY : event.clientY + document.body.scrollTop) - MyOB.style.Y) < 0) MyOB.style.top = '2px'; if (((e.pageX ? e.pageX : event.clientX + document.body.scrollLeft) - MyOB.style.X) > 748 - MyOB.offsetWidth) MyOB.style.left = 748 - MyOB.offsetWidth + 'px'; if (((e.pageY ? e.pageY : event.clientY + document.body.scrollTop) - MyOB.style.Y) > 128 - MyOB.offsetHeight) MyOB.style.top = 128 - MyOB.offsetHeight + 'px'; if ((e.pageY ? e.pageY : event.clientY + document.body.scrollTop) - MyOB.style.Y <= 60) MyOBpl = 'top'; else if ((e.pageY ? e.pageY : event.clientY + document.body.scrollTop) - MyOB.style.Y >= 60) MyOBpl = 'bottom'; if ((e.pageX ? e.pageX : event.clientX + document.body.scrollLeft) - MyOB.style.X <= 370) MyOBpl += 'left'; else if ((e.pageX ? e.pageX : event.clientX + document.body.scrollLeft) - MyOB.style.X >= 370) MyOBpl += 'right'; } function ReMove() { // przesuwa do narożników elementy switch (MyOBpl) { case 'topleft': MyOB.style.top = '2px'; MyOB.style.left = '2px'; break; case 'topright': MyOB.style.top = '2px'; MyOB.style.left = 748 - MyOB.offsetWidth + 'px'; break; case 'bottomleft': MyOB.style.top = 128 - MyOB.offsetHeight + 'px'; MyOB.style.left = '2px'; break; case 'bottomright': MyOB.style.top = 128 - MyOB.offsetHeight + 'px'; MyOB.style.left = 748 - MyOB.offsetWidth + 'px'; break; } } function DropFun() { // element opuszczony if (!MyOB) return; ReMove(); MyOB = null; MyOBpl = null; highSel(null); } function MyDragDrop(w) { // rejestruje elementy this.id = document.getElementById(w); this.id.onmousedown = CDown; function CDown(e) { MyOB = this; MyOB.style.zIndex = ++Mzindex; e = e || event; MyOB.style.X = e.pageX ? e.pageX - (this.offsetLeft) : event.offsetX; MyOB.style.Y = e.pageY ? e.pageY - (this.offsetTop) : event.offsetY; } } new MyDragDrop('seldatetime'); new MyDragDrop('selsitename'); document.onmousedown = DragFun; document.onmousemove = DragFun; document.onmouseup = DropFun;

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.