Hallo Leute des Selfhtmls;
Ich hab ne neue Frage und zwar zum thema drag. Ich möcht ein Bild mit drag im bildschirm umherziehen lassen.
Ich hab so weit auch ein onmousedown js geschrieben.
und das auch im bild eingepflanzt. Doch will es nicht funktionieren.
Ich bin nun mein script schon tausend mal durchgegangen um fehler zu beheben...
ich kann keine mehr finden und dennoch gehts nicht.
kann mir vieleicht jemand helfen?
hier das js
function drag(elemetToDrag, event) {
var startX = event.clientX, startY = event.clientY;
var origX = elementToDrag.offsetLeft, origY = elementToDrag.offsetTop;
var deltaX = startX - origX, deltaY = startY - origY;
if (document.addEventListener) {
document.addEventListener("mousemove",moveHandler, true);
document.addEventListener("mouseup", upHandler, true);
}
else if (document.attachEvent) {
elementToDrag.setCapture();
elementToDrag.attachEvent("onmousemove", moveHandler);
elementToDrag.attachEvent("onmouseup", upHandler);
elementToDrag.attachEvent("onlosecapture", upHandler);
}
else{
var oldmovehandler = document.onmousemove;
var olduphandler = document.onmouseup;
document.onmousemove = moveHandler;
document.onmouseup = upHandler;
}
if (event.stopPropagation) event.stopPropagation();
else event.cancelBubble = true;
if (event.preventDefault) event.preventDefault();
else event.returnValue = false;
function moveHandler(e) {
if (!e) e = window.event;
elementToDrag.style.left = (e.clientX - deltaX) + "px";
elementToDrag.style.top = (e.clientY - deltaY) + "px";
if (e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
}
function upHandler(e) {
if (!e) e = window.event;
if (document.removeEventListener) {
document.removeEventListener("mouseup", upHandler, true);
document.removeEventListener("mousemove", moveHandler, true);
}
else if (document.detachEvent) {
elementToDrag.detachEvent("onlosecapture", upHandler);
elementToDrag.detachEvent("onmouseup", upHandler);
elementToDrag.detachEvent("onmousemove", moveHandler);
elementToDrag.releaseCapture();
}
else {
document.onmouseup = olduphandler;
document.onmousemove= oldmovehandler;
}
if (e.stopPropagation) e.stopPropagation();
else e.cancelBubble = true;
}
}
und hier das bild, das zu bewegen sein sollte:
<img src="Bilder/bild_de.gif" style="position:absolute; left:-50%; top:-50%;" onmousedown="if (event.shiftKey) drag(this, event);">
--
Wenn du nur zum Himmel schaust, kannst du das Gras nicht wachsen sehen...