如何监听页面元素样式的变化

1 篇文章 0 订阅
1 篇文章 0 订阅

DOM改变时,如何做到自适应echarts图表

出发点

如何做到自适应echarts,开发两年的我一直以为,自适应只有在屏幕大小发生变化时才需要做自适应,然而最近的项目中发现,对于左侧菜单栏可以展开收缩或者拖拽改变宽度时,window screen的width并没有发生变化,自然,右侧内容区域的echarts实例也没有发生变化。

如何做到自适应

css新特性 MutationObserver

var callback = function(mutations) {
		mutations.map(function(mutation) {
			switch(mutation.type){
				case 'attributes':
					var chartDiv= echarts.getInstanceByDom(document.getElementById("chartDiv"));//获取实例
					chartDiv.resize(); 
					break;
			}
		});
	}; 
	var obj = document.getElementById('main-header'); 
	var obser = new MutationObserver(callback);

	var options = {
		attributes: true, // 该属性可以监听css的变化
		attributefilter: ['class']
	};

	obser.observe(obj, options);

总结

总而言之,使用css的新特性MutationObserver即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值