Verschieben eines Bildes mit Javascript und Maus-events
Sollte dies einfach genug, aber jedes mal, wenn ich versuche, ich am Ende mit einem anderen Problem.
Ich versuche ein Bild auf dem Bildschirm mit der Maus-events wie mousedown, mouseup, mousemove, clientX und clientY. Ich bin dann zu versuchen, Sie auf die Bild mit der absoluten Positionierung.
Dachte ich, der code unten funktionieren würde, wie ich die Koordinaten auf die erste klicken und dann die Idee war, aktualisieren Sie Sie mit der Maus Bewegung, aber das funktioniert nicht.
var image;
var dog = document.getElementById("dogPic");
var cat = document.getElementById("catPic");
dog.addEventListener("mousedown", initialClick, false);
cat.addEventListener("mousedown", initialClick, false);
function initialClick(e) {
var initialX = e.clientX;
var initialY = e.clientY;
image = document.getElementById(this.id);
document.addEventListener("mousemove", function(e){
var newX = e.clientX - initialX;
var newY = e.clientY - initialY;
image.style.left = newX;
image.style.top = newY;
}, false);
}
Ich bin nicht Fragen, für eine vollständige Antwort, aber kann jemand mir direkt auf, wie kann ich Vorgehen ziehen Sie ein Bild auf dem Bildschirm mit der Maus Bewegung Ereignisse?
Dank
- do #dogPic und #catPic haben Stil
position: absolute;
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
JS:
CSS:
HTML:
moving
sollte nicht eine Globale var; es wäre schöner zu speichern, bewegen, wie ein Daten-verschieben oder etwas Attribut auf das element.Ich eine Modifikation, um eine realistischere ziehen Erfahrung. Dies erforderte das hinzufügen einer X-und Y-offset so, anstatt zu springen, wenn abgeholt, wird das Objekt scheint sich zu bewegen wie erwartet.
JS:
HTML:
Super einfachen funktionierenden code mit Jquery. Live-demo: http://jsfiddle.net/djjL16p2/
JS:
Dieser code funktioniert nur mit plain javascript
JS:
HTML: