Animate from current value
Always start an animation from the element's current on-screen value, not its target. On interruption you read the live transform and continue from there, so there's no jump.
Animates from where it is now, not a fixed start
Tap the example to replay it · press and hold to slow it down