JavaScript监控变动然后在变动完成后只执行一次代码
时间: 2024-03-05 13:49:04 浏览: 184
你可以使用MutationObserver来监控DOM元素的变化,并且使用setTimeout函数来延迟执行代码,从而在变动完成后只执行一次代码。以下是一个示例代码:
```
// 选择要监控的DOM元素
const targetNode = document.getElementById('target');
// 创建一个MutationObserver实例
const observer = new MutationObserver((mutationsList, observer) => {
// 在变动完成后延迟执行代码
setTimeout(() => {
// 执行你的代码
console.log('DOM变动完成并且只执行了一次!');
}, 500);
});
// 配置MutationObserver实例
const config = { attributes: true, childList: true, subtree: true };
// 开始监控DOM元素的变化
observer.observe(targetNode, config);
```
在这个示例代码中,我们首先选择要监控的DOM元素,并创建一个MutationObserver实例。然后,我们配置MutationObserver实例来监控DOM元素的属性变化、子元素列表的变化和整个子树的变化。最后,我们开始监控DOM元素的变化,并在变动完成后延迟执行代码。这样就可以保证代码只会执行一次,并且在DOM元素变动完成后执行。
阅读全文