Sie sollten nicht verwenden jQuery für diese animieren. Es ist viel einfacher mit CSS zu arbeiten, und es sieht auch viel glatter aus.
Sie schaffen eine Klasse, die die folgenden Attribute aufweist:
.animate{
transform: translate(50px, 100px);
transition: 1s ease-in-out;
}
der erste Wert in translate()
ist die Anzahl der Pixel nach rechts zu verschieben, und die zweite ist die Anzahl der Pixel nach unten zu bewegen. So
, wenn wir das Beispiel, das Sie gaben uns verwenden, sollte es sein:
.animate{
transform: translate(100px, -100px);
transition: 1s ease-in-out;
}
die 1s
auf transition
ist die Gesamtmenge von Sekunden die Animation stattfinden wird. Sie können hier Dezimalzahlen verwenden.
Die ease-in-out
ist die Art, wie die Animation animiert wird. Sie können eine vollständige Liste here finden.
Wenn Sie möchten, dass die Animation startet, fügen Sie einfach die Klasse zu div hinzu. Der folgende Code wird die Klasse in den div hinzuzufügen, wenn Sie darauf klicken:
$("div").click(function() {
$("div").addClass("animate");
});
Sie müssen die Wähler ändern, es jetzt tun wird es auf jeden div
auf Ihrer Seite zu arbeiten.
Ich würde Javascript nicht verwenden, um etwas so einfaches zu animieren. Es kann leicht mit CSS gemacht werden. –
@ David Wester wie? Nur CSS? –
Werfen Sie einen Blick auf diesen Link https://www.kirupa.com/html5/animating_movement_smoothly_using_css.htm –