MutationObserver动态监视一个元素的变化

也并不能完全说是动态,他需要你在停止事件操作之后才会进行获取值,反正还挺好用的

最近有点反应不过来了,遮罩层不会写了,但是想到了动态监视元素的某个属性的变化来回去到值,找掉了Mutation Observer API 这个东西,是原生的API,具体详细的可以看这里,有详细的解读,我这用了jQuery,不喜欢的可以自己改一下,原文大佬文章在这
百度到都是window.onresize,没找到对单个元素的监听,下面是大牛推荐的方法: MutationObserver

<!DOCTYPE html>
<html lang="">
<head>
	<meta charset="utf-8"/>
	<title></title>
	<script type="application/javascript" src="../js/jquery.min.js"></script>
	<script type="application/javascript">
		$(function () {
			let initHeight = document.body.clientHeight;
			const MutationObserver = window.MutationObserver
			// 选择目标节点
			let target = document.body;
			// 创建观察者对象
			const observer = new MutationObserver(function (mutations) {
				if (initHeight !== document.body.clientHeight) {
					initHeight = document.body.clientHeight;
					console.log(initHeight);
				}
			});
			// 配置观察选项:
			const config = {
				attributes: true
			};
			// 传入目标节点和观察选项
			observer.observe(target, config);
			// 随后,你还可以停止观察
			//observer.disconnect();
		});

		function reHeigth() {
			// // var height = $('body').style.height
			// console.log($('body').css('height'))
			$('div').css('height', $('body').css('height'));
		}
	</script>
</head>

<body>
<!--<input type="text"/>-->
<div style="background: rgba(0,0,0,.4); width: 100%; position: fixed"></div>
<button onclick="reHeigth();">修改body高度</button>
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值