Ich versuche, die Entfernung zu erkennen, die die Maus in Pixeln bewegt hat. Ich verwende derzeit:
$(document).mousemove(function(event) {
var startingTop = 10,
startingLeft = 22,
math = Math.abs(((startingTop - event.clientY) + (startingLeft - event.clientX)) + 14) + 'px';
$('span').text('Von Ihrem Ausgangspunkt (22x10) haben Sie sich bewegt: ' + math);
});
Ich habe jedoch nicht das Gefühl, dass dies der richtige Weg ist, oder ist es? Es fühlt sich für mich nicht konsistent an.
Hier ist eine Demo, wie es im Moment funktioniert: http://jsfiddle.net/Em4Xu/1/
Zusätzliche Details:
Ich entwickle tatsächlich ein Drag & Drop-Plugin und möchte eine Funktion namens distance
erstellen, ähnlich wie draggable es hat, wo Sie die Maus eine bestimmte Anzahl von Pixeln ziehen müssen, bevor es zieht. Ich bin mir nicht zu 100% sicher, wie das geht, also muss ich zuerst erhalten, wie viele Pixel die Maus von der Ausgangsposition startingTop und startingLeft entfernt hat.
Hat jemand Vorschläge?
1 Stimmen
Müssen Sie die Entfernung akkumulieren oder nicht?
2 Stimmen
Nicht sicher, was du wirklich zu tun versuchst, aber der Abstand zwischen zwei Punkten wird wie folgt berechnet:
Math.sqrt((deltaX * deltaX) + (deltaY * deltaY))
1 Stimmen
Könnten Sie dies als Antwort mit einigen weiteren Details einfügen? Ich sehe nicht, wie das funktionieren würde.
0 Stimmen
Nein, ich kann es nicht in einer Antwort einfügen, da ich aus Ihrer Frage nicht verstehe, was Sie zu tun versuchen. Bitte klären Sie das.
0 Stimmen
Ich entwickle tatsächlich ein Drag-and-Drop-Plugin. Und ich möchte eine Funktion namens
Entfernung
erstellen. Wie bei draggable. Wo man die Maus eine bestimmte Anzahl von PX ziehen muss, bevor es zieht. Ich bin mir nicht ganz sicher, wie ich das machen soll. Also muss ich zuerst die PX erhalten, um die sich die Maus von der PositionstartingTop
undstartingLeft
bewegt hat.