ResizeObserver视图观察器

ResizeObserver 视图观察器

监测DOM元素尺寸改变. 替换 resize事件监听

应用
  • 监听用户全屏与非全屏切换
  • 监听用户改变浏览器窗口大小
  • 自适应页面开发
实战
	useEffect(() => {
   
		const callback = (entries, observer) => {
   
			entries.forEach(entry => {
   
				const {
    target, contentRect } = entry;

				// 处理元素尺寸变化
				// 当页面全屏/退出全屏时触发
				// contentRect包含了元素的新尺寸和位置信息
				console.log(`目标元素: ${
     target}`);
				const height = 1080 - 84;
				let transformY = `scaleY(${
     contentRect.height / height})`;
				console.log('transformY:', transformY);
				document.getElementById('contentTrueDom').style.transform = transformY;
				console.log(`宽度: ${
     contentRect.width}px`);
				console.log(`高度: ${
     contentRect.height}px`);
			});
		};
		const observer = new ResizeObserver(callback);
		observer.observe(document.getElementById('trueDom'));

	}, []);
相关文档

相关推荐

  1. ResizeObserver视图观察

    2024-02-03 06:34:02       58 阅读
  2. Spring MVC 视图解析

    2024-02-03 06:34:02       39 阅读
  3. 使用React和ResizeObserver实现自适应ECharts图表

    2024-02-03 06:34:02       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-03 06:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-03 06:34:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-03 06:34:02       82 阅读
  4. Python语言-面向对象

    2024-02-03 06:34:02       91 阅读

热门阅读

  1. 部署私有知识库项目FastGPT

    2024-02-03 06:34:02       44 阅读
  2. Mybatis-Plus

    2024-02-03 06:34:02       54 阅读
  3. Redis是单线程还是多线程?

    2024-02-03 06:34:02       48 阅读
  4. Redis实现登录的优化

    2024-02-03 06:34:02       50 阅读
  5. C++入门【37-C++ 拷贝构造函数】

    2024-02-03 06:34:02       50 阅读