Hallo lagraf.
Wie würde eine Funktion "animateItemFromCart" in deinem Code aussehen [...]?
Im Gunde genau wie die animateItemToCart. In diesem Fall hat allerdings das Ziel eine dynamische Position und nicht der Startpunkt.
Ich würde das so in etwa umsetzen:
1. Einen neuen Click-Listener registrieren, für den "Minus" Button. (Ich weiß, dass du für Plus und Minus den selben Button geplat hast, da würde ich dir aber raten, das doch mit zwei verschiedenen Buttons zu machen.)
2. Wenn der "Minus" Button geklickt wird, würde ich dynamisch an der Stelle des Einkaufkorbes ein neues Element erzeugen (da der Einkaufskorb eine statische Position hat, kannst du das auch super mit der store-item--in-cart Klasse positionieren.)
3. Sobald das Element das erste Mal gerendert wurde (dafür musst du den Mutation Observer anpassen) würde ich, wie vorher ein par ms warten.
4. Zum Schluss würde ich dynamisch die Position und Größe des angeklickten Item-Bildes berechnen (Der Code dafür existiert im Grunde schon) und das Element dann zu dieser Position bewegen. Da die Klasse store-item schon ein transition hat, sollte das ganz automatisch gehen
Hier gibt es einen Unterschied zu der hin-Animation: Da hier zuerst eine Klasse und dann der inline-Style gesetzt wird, ist es nicht nötig, wie vorher den alten Style zu löschen. (Der Spezifität sei Dank)
5. Sobald, die Transition beendet ist, können wir das erzeuge Item wieder löschen.
Grüße
Andreas