js 监听元素实时位置
时间: 2023-08-30 19:12:36 浏览: 101
要监听任意元素的实时位置,可以使用 JavaScript 中的 MutationObserver API,它可以观察指定的 DOM 节点树的变化。你可以使用 MutationObserver 来监听元素的位置、大小、内容等变化。
以下是一个基本示例代码:
```javascript
const targetNode = document.querySelector('#my-element');
const observer = new MutationObserver(mutationsList => {
for(let mutation of mutationsList) {
if (mutation.type === 'attributes' && (mutation.attributeName === 'style' || mutation.attributeName === 'class')) {
console.log(targetNode.getBoundingClientRect());
// 输出实时位置信息
}
}
});
const config = { attributes: true, childList: false, subtree: false };
observer.observe(targetNode, config);
```
以上代码将监听 `targetNode` 元素的 `style` 和 `class` 属性变化,并在变化时输出元素的位置信息。你可以根据需要修改 `config` 对象以监听其他类型的变化。
阅读全文