CSS animation : verschieben eines div mit der neuen position relativ zu der vorherigen
für eine bessere Leistung, die ich ersetzen will:
$('#foo').animate({ left: '+=42px' }, 500);
durch einen übergang (oder eine animation) CSS3.
Aber wie können wir tun, um zu implementieren "+=" auf der linken Seite-Eigenschaft in CSS?
Bewegen, wie ein div-Element mit der neuen linken position relativ zu der vorherigen?
thx.
- Tatsächlich, ich glaube, dass CSS und jQuery Animationen sind genau das gleiche im backend =)
- Was würde verursachen, dass der übergang/animation? Was soll passieren, nachdem Sie beendet ist?
- was Sie fordern ist nicht möglich, weil CSS ist keine Programmiersprache, es ist eine styling-markup. soweit ich weiß,
+=
existiert nicht in css. außerdem ist, wie paulie oben schrieb, werden Sie wahrscheinlich erforderlich, um trigger die animation mit javascript sowieso, also bleiben Sie besser bei.animate
. - Ja, ich bin über das denken. Ich würde eine css-Klasse wie
.animation {transition: left += 10px}
und nach der Anwendung-Klasse-DOM-element, aber ich werde mit JS. So, nun ist die Frage: "Klasse hinzufügen ist schneller thant ändern Links-Stil-Eigenschaft?"^^ - sorry für die späte Antwort, das nächste mal, fügen Sie bitte eine
@whatever
wenn Sie jemand Antworten, so dass wir eine Nachricht bekommen :). über die Leistung, die Sie möchten, um einen Blick Hier - Ich habe eine Menge tests, ich denke, ändern Links Eigenschaft (ohne jquery) besser ist, thx.
- gut, seine bis zu Ihnen, wirklich. wenn Ihre Zielgruppe system ist schnell genug, es wird nicht einen Unterschied machen, welche Methode Sie verwenden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In vanilla-js, die Sie nicht verwenden können
+=
ist, aber Sie können den alten Wert statt:JS:
CSS:
HTML:
Können Sie den übergang für glatte animation. Sie stellen nur den übergang in die Einstellungen in der CSS einem element wie diesem,
Dann tun Sie Ihre Schrittweite von Links mit einem Skript wie diesem.
Finden Sie in auf dieser Seite.