Capítulo 180 de 411
A short helper that changes an element's transformOrigin and immediately compensates its x/y position so the element doesn't visibly jump — the same underlying problem and fix as the two-element origin-alignment helper (Chapter 160), but for a single element changing its own origin.
function smoothOriginChange(targets, transformOrigin) {
gsap.utils.toArray(targets).forEach((target) => {
let before = target.getBoundingClientRect();
gsap.set(target, { transformOrigin });
let after = target.getBoundingClientRect();
gsap.set(target, { x: "+=" + (before.left - after.left), y: "+=" + (before.top - after.top) });
});
}