其实业务中还是会碰见这样的需求的,特别是一些框架内不,这个并不是很复杂,我们可以考虑如何去监听到 dom元素样式属性的变化就可以
很多童鞋可能对原生js的不够熟悉,现在大多数同学 只要会写简单的vue操作 就可以 做一些基础的前端工作了,然后就是查文档,其实更多的时间可以花在对自己js基础建设的
今天要说的这个就是一个js api
new MutationObserver
除了这个还有一个 面试会经常问的是 IntersectionObserver 监听dom元素进入可视化区域,用这个api完成图片的懒加载,但今天主角又不是它嘿嘿,
而且这个api兼容性也是不错的哦

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div {
display: none;
height: 200px;
border: 1px solid #f00;
}
</style>
</head>
<body>
<div></div>
<script>
var div = document.querySelector('div')
const config = { attributes: true }
const observe = new MutationObserver((mutations, observer) => {
for(let mutation of mutations){
if(mutation.type === "attributes") {
console.log('dom is now visible')
}
}
})
observe.observe(div, config)
setTimeout(() => {
div.style.display = 'block'
}, 3000)
</script>
</body>
</html>
关注我 持续更新 前端知识。 也希望看到这篇博客的同学 多多关注基础js,大神不用接受这个意见



![Redis常见数据类型[上]](https://img-blog.csdnimg.cn/direct/c1256df01b9e4632b217d7d85c9e1f89.png)







![[BUUCTF]-Web:[GXYCTF2019]Ping Ping Ping解析](https://img-blog.csdnimg.cn/direct/d364a04288eb463c99367bcf0a98cba4.png)






