Ich versuche verschiedene Pfeile zu animieren, um auf den Cursor zu zeigen, aber ich kann keine leichte Lösung dafür finden.Elemente unabhängig bewegen js
Ich benutze den Code unten, aber es scheint ein bisschen schwer auf der Website. Gibt es eine Möglichkeit, den Code zu optimieren?
Prost! T
// the same as yours.
function rotateOnMouse(e, pw) {
var offset = pw.offset();
var center_x = (offset.left) + ($(pw).width()/2);
var center_y = (offset.top) + ($(pw).height()/2);
var mouse_x = e.pageX;
var mouse_y = e.pageY;
var radians = Math.atan2(mouse_x - center_x, mouse_y - center_y);
var degree = (radians * (180/Math.PI) * -1);
$(pw).css('-moz-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-webkit-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-o-transform', 'rotate(' + degree + 'deg)');
$(pw).css('-ms-transform', 'rotate(' + degree + 'deg)');
}
$(document).mousemove(function(e) {
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD1'));
});
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD2'));
});
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD3'));
});
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD4'));
});
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD5'));
});
$(document).bind('mousemove.rotateImg', function(e2) {
rotateOnMouse(e2, $('#arrowD6'));
});
});
http://codepen.io/thalesribeiro/pen/egVgpp
hmm, es hat sich für mich nicht funktioniert. Könnten Sie mir und einem Beispiel zeigen, wie es mit dem Rest des Codes gilt? –
Ich habe Ihren Codepen mit meinen Vorschlägen bearbeitet, Link hinzugefügt, um zu antworten. Auch wenn Sie die Leistung weiter verbessern möchten, empfehle ich die Verwendung eines passiven Ereignis-Listeners, den jquery noch nicht unterstützt. – mateop
Wie würde es funktionieren, wenn ich alle Elemente mit derselben Klasse aufrufen möchte? zum Beispiel .arrows und dann müsste ich nicht für jeden Pfeil dieselbe Funktion aufrufen? –