FBIagent
Erfahrenes Mitglied
Guten tag,
ich habe versucht eine DragAndDrop Klasse zu schreiben die zur Initialisierung ein
Element braucht.
Nun ein element auf der page:
Jetzt noch ein JavaScript das ein Objekt von CDragAndDrop erstellt:
Die Statusleiste zeigt auch die richtigen Texte an(Der Text, der in den Event-Handlern
gesetzt wird). Deshalb denke ich das eshöchstwarscheinlich an den folgenden beiden
Zeilen liegt:
Best wishes,
FBIagent
ich habe versucht eine DragAndDrop Klasse zu schreiben die zur Initialisierung ein
Element braucht.
Code:
var MOUSE_HANDLER_IS_CREATED = false;
function CMouseHandler()
{
this.OnMove = function (moveEvt)
{
this.mouseX = document.all ? window.event.clientX : moveEvt.pageX;
this.mouseY = document.all ? window.event.clientY : moveEvt.pageY;
}
this.OnDown = function(downEvt)
{
this.mouseIsDown = true;
}
this.OnUp = function()
{
this.mouseIsDown = false;
}
if (MOUSE_HANDLER_IS_CREATED)
return;
MOUSE_HANDLER_IS_CREATED = true;
this.mouseX = 0;
this.mouseY = 0;
this.mouseIsDown = false;
document.onmousemove = this.OnMove;
document.onmousedown = this.OnDown;
document.onmouseup = this.OnUp;
}
var CMouseHandlerObject = new CMouseHandler();
function CDragAndDrop(elem)
{
this.Enable = function(downEvt)
{
window.status = 'drag';
this.doDrag = true;
}
this.Disable = function()
{
window.status='drop';
this.doDrag = false;
}
this.UpdatePos = function(moveEvt)
{
window.status = 'wait for drag';
if (doDrag)
{
dragElem.style.left = (CMouseHandlerObject.mouseX - dragElem.offsetLeft) + "px";
dragElem.style.top = (CMouseHandlerObject.mouseY - dragElem.offsetTop) + "px";
}
}
var dragElem = elem;
var doDrag = false;
dragElem.onmousemove = this.UpdatePos;
dragElem.onmousedown = this.Enable;
dragElem.onmouseup = this.Disable;
}
Code:
<img id="dragImg" src="blabla.jpg">
Code:
var dragObjectImg = new CDragAndDrop(document.getElementById('dragImg'));
gesetzt wird). Deshalb denke ich das eshöchstwarscheinlich an den folgenden beiden
Zeilen liegt:
Code:
dragElem.style.left = (CMouseHandlerObject.mouseX - dragElem.offsetLeft) + "px";
dragElem.style.top = (CMouseHandlerObject.mouseY - dragElem.offsetTop) + "px";
FBIagent