Quiero suscribirme/detectar el cambio de posición del elemento html causado por cada evento (desplazamiento, mutación DOM, CSS/cambios de estilo).
Si la posición de un elemento en particular cambia por cualquier razón, ¡quiero detectarlo!
esto es solo un ejemplo
const checkPosition = (el, callback) => { let rect = el.getBoundingClientRect(); let x = rect.x; let y = rect.y; const check = () => { let rect = el.getBoundingClientRect(); if (rect.x !== x || rect.y !== y) { x = rect.x; y = rect.y; callback(x, y); } requestAnimationFrame(check); }; check(); }; const divVar = document.getElementById('track'); checkPosition(divVar, (x, y) => console.log('moved', {x, y})); #track { display: block; height: 50px; width: 50px; border: 1px solid red; } #container { dispay: block; height: 100px; width: 100px; overflow: auto; } <div id="container"> <br><br><br><br><br><br><br><br><br> <div id="track"></div> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br> </div> ¿Cómo detectar cuándo getBoundingClientRect() ?